Fix using dynamic boost libraries and streamline project-config generation

Fix the building and linking of dynamic boost libraries that depend on
setting a BOOST_<LIB>_DYN_LINK macro. Ensure that the macro is correctly
added both when building the library but also when building dependent
application code that will be linked to the library.

Also make libraries only Require() bjam and project-config files so that
bjam is not re-executed every time for libraries.
Add experimental support for libc++ to clang and fix link error handling

Add a new --clang-stdlib option that will make it possible to specify a specific standard library such as libc++. Currently the library used will be the platform default. Also refactor core to make the active toolchain available to variant environments.
Update version for build_with_boost changes and clang fixes