CXX-276 and CXX-277

Fixes a particularly egregious warning about using auto_ptr with a type where the dtor has not yet been seen. Also fixes all other windows warnings and makes warnings errors on windows.

Overview of changes:

- Adds basic.h to several tests that were missing them
- Re-organizes some files or adds headers as necessary to eliminate warnings about using auto_ptr without the appropriate things defined.
- Fixes a nit in murmurhash where windows would warn about 'repeated inline' due to using __forceinline in the "wrong" order.
- Eliminate some unused variables, mostly exception objects that are not referenced in the catch body.
- Add inclusions of the windows and winsock headers in consuming code like the client examples
- Add preprocessor checks to the driver facade headers to require consumers to include windows and winsock before our headers.
- Add macros to suppress annoying windows warnings about insecure or deprecated functions.
- Cast through unsigned char* so that writing '200' is OK in the bson validate test
- Finally, now that we have no warnings, make it so that warnings are errors on windows.