Merge from trunk: * dropped support of antique compilers * fixed issue with ambiguity in swap (fixes #2839) * added conditional noexcepts to move assignments, default and move constructors (fixes #7911) * experimental variadic templates support (refs #9163) * bunch of size optimizations for assignments and move assignments (refs #7960) * minor changes and size optimizations