Provide support for the Cray C++ compiler.  The Cray compiler defines __GNUC__
and generally supports gnu extensions to C and C++.  It does not, however, support
inline assembly.  The changes here are to avoid inline assembly when _CRAYC is asserted
in the preprocessor.
Added pull #2 to changelist
Fix interprocess_exception throw in file_wrapper::priv_open_or_create.

On Windows the exception object is created using the result of GetLastError().
When compiled using MinGW the throw instruction itself is using some WinApi call which overwrites the last error.
Therefore the error code must be retrieved before the exception is thrown.
Rephrase the #ifdef in errors.hpp
More interprocess_exception fixes & #ifdef rephrasings
* If `BOOST_USE_WINDOWS_H` is defined, <windows.h> and other windows SDK files are included,
otherwise the library declares needed functions and structures to reduce the impact of including
those heavy headers.

*  Added `get_size` to windows_shared_memory.
Removed trailing whitespaces.
Fixes #10011 segment_manager::find( unique_instance_t* ) fails to compile
Fix MinGW warnings caused by the unknown MSVC pragmas
Merge branch 'awulkiew-fixes' into develop
Removed some unused typedef/variable warnings
Removed unneeded dependency from Boost.Math
Fixed unused variable and redeclaration warnings.
Fixed test to test that get_instance_name returns typeid(T).name().
Fixed mimatched new[]/delete when using auto_ptr.
Removed unused variable and strict aliasing warnings in GCC.
Add templated params for optional locking and pool destruction