Separate out C++11 detection from the Core library

Created an STL library that just configures the headers and populates
variables accordingly. Added a concept of compiler definitions, largely
to help on Windows, and a set of variables for each feature. This means
that IO just falls back to the smart pointer classes for example.

Change-Id: I39ddd035a04199f67ada5df774c72631f7557f75
Merge topic 'cpp-11-boost' into master

f9cb17c2 Separate out C++11 detection from the Core library