Extracted all capability macros to separate headers.
Merge branch 'develop' into decouple_interface_impl_rewrite
Merge branch 'develop' into decouple_interface_impl_rewrite
Ranamed header.
Reworked capabilities definition. For all platforms, added BOOST_ATOMIC_INTn_LOCK_FREE macros that define the support for fixed sized integers. Other macros are deduced from the new ones, according to the native type sizes.
Merge branch 'develop' into decouple_interface_impl_rewrite
Working on the new library design.

Added implementation of atomic ops with gcc __atomic intrinsics.
Implemented the unified atomic interface. Extracted atomic_flag to a
separate header. atomic_flag now follows standard requirements for
static initialization, if possible.
Compilation fixes. Added public headers for atomic_flag and atomic.
Added workarounds for clang.
Working on the library rewrite. Implemented gcc-x86 and gcc-sync
backends.
Improved assertion messages.
Implemented MSVC and Windows backends.
Added Linux ARM backend.
Signed flag is now forwarded to the backends.

Forwarding the "signed" property allows to specialize operations
implementation, which may be desired for some architectures. This also
eliminates the formally implementation-defined result of unsigned-to-
target type.

Also for x86 implementations removed compiler barriers since the
compilers already treat intrinsics/asm blocks as ones.
Fixed compilation.
Implemented PorwerPC backend.
Implemented gcc SPARCv9 backend.

The backend also adds support for 64-bit atomics.
Implemented gcc ARM backend. Some files renamed.
Fixed compilation of ARM backend. Simplified fences implementation.
Enabled gcc atomic backend for Intel Compiler on Linux.