Merge Boost.Config changes from Trunk - numerous small bug fixes plus a new Cray C++ config. Fixes #5607. Fixes #5941. Fixes #5878.