Fixed thread-safety issue.

Which also seemed like an unnecessary optimization.

Change-Id: Ifa0f905912f352166fe3c47e1bb68a6a66ec4797
Refactored the location of the atomic classes.

Moved atomic classes into an SMP directory to make sure that
the SMP backends are obvious for what they are. Also added
a Simple backend in the CMake file which currently is the same
as Sequential.

Change-Id: I7aa0262ea37da774acbe9c2ca13c8e5134178e49
Fixed atomic int compile issues on Windows.

It turns out that forward declaring various atomic functions
(_InterlockedXXX) is not straightforward. I ran into situations
where this did not link. So I moved all of the atomic
implementation for Windows to the cxx file and properly
included vtkWindows.h. This should fix all compile/link issues
of atomic ints on Windows. Note that the main reason that I
chose not to include vtkWindows.h in the header is that
atomic ints are used by all subclasses of vtkObjectBase and
including vtkWindows.h all over the place would degrade
compile performance significantly.

Change-Id: I00bf173140587b07665d7d5d84ab0cad5bfda7fe
Merge topic 'atomic-refactoring' into master

55fab3d5 Refactored the location of the atomic classes.
Merge topic 'atomic-compile-issue' into master

75062ae4 Fixed atomic int compile issues on Windows.
Merge topic 'thread-safety-fix' into master

aadae2e0 Fixed thread-safety issue.
Fixed bug (compile issue) introduced with previous refactor.

Critical sections need to be defined whenever atomics are not
natively supported. Fixed wrong ifdef.

Change-Id: Icd5e2245a65c6832c52ab1ba07cf9d9b89768859
Merge topic 'atomic-compile-error-win32' into master

031fdf7e Fixed bug (compile issue) introduced with previous refactor.
First implementation of SMP parallel primitives.

Added primitives for developing multi-threaded parallel
algorithms. Include are vtkSMPTools, which currently
provides a parallel For implementation; support for simple
and initializable functors, which are needed to implement
parallel kernels and thread local storage objects that
provide storage local to each thread.

Change-Id: I4c27b25bc2dd7f0ce3194d4488864fef4444c9d3
Merge topic 'smp-parallel-framework' into master

5abad992 First implementation of SMP parallel primitives.
Fix web css loader ordering

Change-Id: Ifc5734f3431f04680fd71310b1f0cf0fee62223e
Merge topic 'vtkweb-url-arg-parsing' into master

a288dcae Fix web css loader ordering