Windows system error codes

If your application is likely to run on Windows, simply replace uses of
`Unix.error_message` with `Win_error.error_message` for enhanced error
reporting. Note this code is platform-agnostic so can be linked into Unix
applications too.
