Added greatly improved code for detecting binary operators.
Add assertions for completeness to traits which require complete types
as arguments: this prevents various traits from giving eroneous results
from incomplete types.
Fix minor issue with mpl compatibility, see #12212.
Add macro to indicate when is_constructible is fully implemented, see
#12003.
Refactored traits to depend only on Boost.Config. Greatly simplified code
to improve readability and remove workarounds for old compilers no longer
supported.