Bump minimum compiler requirements.

This requirements bump will allow increasing modularization of
the boost libraries. This change is still extremely conservative. To
allow proper modularization, the version requirements should be
increased much more.

(from Stephen Kelly)
Require a compiler which does not need BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS

This was defined independent of the compiler version. It is not known
if this is a true limitation of the digital mars compiler in all
versions, or a bug in this header.

(from Stephen Kelly)

Daniel James: I checked the latest version of digital mars. It mostly supports
explicit function template arguments, apart when a function is overloaded for
type and value template arguments, which causes the config test to fail.  So in
most cases the macro isn't needed.
Remove BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENT

This makes boost::config independent of boost::core in the
modularized repos.

(from Stephen Kelly)

Daniel James: The original patch included changes for several libraries.
I'll deal with them later, they shouldn't break since the changes were to
remove code that won't be activated any more.
Fix syntax error in gcc config.
Restore `BOOST_COMPILER_VERSION` for old Visual C++.

They don't hurt, and might be useful to someone.