Initial modular patch, from Bjorn.


[SVN r85884]
MPL: Remove use of obsolete BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS

This macro is no longer defined for any compiler.

[SVN r85885]
MPL: Remove use of obsolete BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION

[SVN r85886]
MPL: Remove use of obsolete BOOST_MPL_CFG_NO_APPLY_TEMPLATE

It was only defined for MSVC versions which are no longer supported.

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

[SVN r85888]
[geometry] added missing template keyword, not catched by clang 3.0 but catched by 3.2

[SVN r85890]
MPL: Remove MSVC workaround for void templates.

[SVN r85891]
MPL: Remove assert workaround for no-longer-supported MSVC.

[SVN r85892]
Remove use of BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS

[SVN r85893]
Remove use of obsolete BOOST_EXPLICIT_TEMPLATE_TYPE{,_SPEC} macros.

[SVN r85894]
Remove use of obsolete BOOST_EXPLICIT_TEMPLATE_NON_TYPE macro.

[SVN r85895]
Remove use of obsolete BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE{,_SPEC} macro.

[SVN r85896]
Remove use of obsolete BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE macro.

[SVN r85897]
Python: Simplify object_operators implementation.

The old-MSVC-specific version is no longer needed.

[SVN r85898]
Add experimental variadic templates support to Boost.Variant, enable usage of variadic version for gcc-4.8, clang-3.0 and later compilers (refs #9163)
With this patch size of a binary siginificantly reduced (up to two times)

[SVN r85899]
IOstreams: Remove obsolete MSVC version check

[SVN r85900]
Config: Remove obsolete MSVC version check

[SVN r85902]
Array: Remove obsolete MSVC version check.

[SVN r85903]
Asio: Remove obsolete MSVC version check.

[SVN r85904]
DateTime: Remove obsolete MSVC version checks.

[SVN r85905]