Portability improvements, especially for Visual Studio 2012

Replaced custom C++11 feature macros with macros from Boost.Config. This way, developers don't have to investigate these features on their platform and configure the macros by hand.

For Visual Studio 2012, added a test for the required faux variadics setting.

Removed timezone from timestamp, because on Windows with the default registry settings, the time zone would be written out in full, which cause the buffer size to be insufficient. Also made the buffer for creating timestamp strings local to get_timestamp.

Changed code that appended characters to use character literals rather than integer literals. This prevents Visual Studio 2012 from issuing warnings.

Fixed spelling errors, including in API: implimented -> implemented