Development version of Boost.Variant library now uses C++11 variadic templates when possible.

This leads to more compact binaries, more readable compiler error messages and faster  compilation times.

However this:
* breaks ABI (now variant is declared as `template <typename T0, typename... TN> class variant`)
* breaks user code that was explicitly using BOOST_VARIANT_LIMIT_TYPES

Code that was using BOOST_VARIANT_ENUM_PARAMS and BOOST_VARIANT_ENUM_SHIFTED_PARAMS macro *must* work correctly without any modifications.

To disable variadic templates usage in variant define BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES.

When all the tests will pass successfully changes will be merged to master branch, so there is a high chance that variadic templates will be supported by Boost 1.56.

In case of appearance of hard to fix variadic templates errors in Boost libraries dependent on Boost.Variant - report them in this letter and I'll help in resolving issues.

--
Best regards,
Antony Polukhin