Initial modular patch, from Bjorn.


[SVN r85884]
Undo previous commit, it was meant for another branch

[SVN r85888]
Remove use of BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS

[SVN r85893]
Units: Remove obsolete GCC version check.

[SVN r86118]
Remove BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION

Process #ifdef...#endif blocks.

[SVN r86243]