More compilation fixes for the case when 128-bit integers are not supported.
Added a workaround for clang 3.4 bug: the compiler does not implement __atomic intrinsics even though it defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 macro.
Removed incorrect constexpr qualifications from constructors with non-empty bodies.
Added missing fence functions for the clang 3.4 workaround. Also made atomic_flag copy and assignment to be deleted on C++11 compilers.
Attempt to make Darwin clang compile the asm statement.
Further attempts to work around clang compilation failures.
Further attempts to work around clang bugs.
Hopefully, fixes #9447.

Cleanup of the success flag in CAS operations has been reworked. The
flag is automatically cleared by default and only set when the operation
succeeds. Also minor code reformatting and __volatile__ specifications
to prohibit the assembler code moving around.
Merge branch 'develop' into decouple_interface_impl_rewrite