fix header-only use of error codes

BOOST_ERROR_CODE_HEADER_ONLY was not working when the headers are separated
from the sources (e.g. when installing the headers to fhs-style /usr/include
or the like). to avoid this, we move the implementation to an .ipp file

Signed-off-by: Tim Blechmann <tim@klingt.org>
Remove legacy VC++ solution. Easier to rebuild from scratch.
Move src/local_free_on_destruction.hpp to include/boost/detail. Was not being found by some VC++ versions, plus header only builds are supposed to be possible without non-header directories even being present.
Move BOOST_SYSTEM_SOURCE definition to src/error_code.cpp so that automatic library variant selection is enabled.
Update docs to reflect library inclusion in C++11 and addition of BOOST_ERROR_CODE_HEADER_ONLY
Ensure generic_category() and system_category() linkage is correct on Windows when BOOST_ERROR_CODE_HEADER_ONLY is specified.
Initial commit VC++ 2012 test solution