Add very basic working Nmake build file.
Undefine some 'max' macro set somewhere in curl.h
Add and remove various headers.
Add Win/Linux specific make_dir().
Add ENUM_CLASS macro for compilers with no support for enum classes.
Add for-each macro for compilers that don't support for-each syntax.
Explicit cast to silence compiler warning.
Add some temporary try/catch statements for debugging purposes.

On Windows the exception message is not show automatically, like on Linux.
Addressing this with temporary, explicit dumping, which will be better
structured in the future.
Add missing DEBUG and new WIN flags and fix md_md5 (was md_5).
Add OpenSSL link flags.
Add C++11 compliance check file.
Fix files not being written as binary objects.

When opening a file for writing a curl response new-lines would be duplicated.
The file needs to be opened in binary mode with ios::binary. This also changes
an occurrence of ifstream::binary to ios::binary.
Remove accidentally added debug calls to fetch().
Extract Win error message into RAII object and throw exception on I/O error.
Only undefine macro max if already defined; may be a Windows only thing.
Move WinErrorString to separate .hpp file.
Use native _WIN32 define instead of homebrew WIN.
Add curleasy include guard.
Add a TODO I'm sick of seeing in git diff.