Linux compatibility

* cmake: add Boost required components when not using MSVC
* bag: resolved boost::assign::list_of ambiguity
cmake: added compiler tests for C++11 features using CMAKE_CXX_SOURCE_COMPILES

* PKMDS uses strongly typed enums
* LibPKMN uses std::shared_ptr
* Added CMake warning for untested compilers that somehow pass test