Added support for atomic integers.

As a first step of a SMP (symmetric multiprocessing)
infrastructure, I added a set of atomic integer
classes. Currently, there are backends of system
specific implementation (Sequential), OpenMP, Intel
TBB and Inria's X-Kaapi.

Change-Id: Ie606ef9202f9588616a0b5412123512ffe536be6
vtkObject now uses an atomic int for reference counting.

As long as the object is not deleted, it should be possible to
manipulate the reference count of the same object across multiple
threads now.

Change-Id: Ife45f050090e91f69480d6f621fc6c8a1511a3de
Addressed some minor concerned from Gerrit.

> Also I expect that you don't need to check for WIN32 and _WIN32.
> _WIN32 will suffice.

Fixed.

> Line 54: mark_as_advanced(XKAAPI_INCLUDE_DIR XKAAPI_LIBRARY
> KAAPI_LIBRARY KAAPI_FORTRAN_LIBRARY) KAAPI_C_LIBRARY is missing from
> advanced.

Fixed.

> Common/Core/vtkAtomicInt32BasicImpl.h Line 118: }; This needs to have
> pragma to state it is 32bit aligned, since InterlockedIncrement
>requires it (
> http://msdn.microsoft.com/en-us/library/windows/apps/ms683614(v=vs.85).aspx
> )

Fixed.

Change-Id: Id7c00293fe47be4fc264ac0602d5214469e4b697
Merge topic 'atomics' into master

478f1350 Addressed some minor concerned from Gerrit.
47f22b81 vtkObject now uses an atomic int for reference counting.
cc8540d1 Added support for atomic integers.