Implements a few improvements for the atomic integers.

The main concern on the mailing list was that some of the
implementation was not using memory barriers/fences, which
may be dangerous in some cases. I made the first attempt to
make much of the atomic functionality use a sequentially-
consistent ordering by using memory barriers. The performance
impact seems to be relatively small but we will have to keep
an eye on it.

I also made some changes to the implementation that will
hopefully avoid falling back to critical sections on Windows
XP.

Change-Id: Ib05f411f905cfe9a89bb8bc82ca103d3c1eb8002
Fix some more warnings in vtkDispatcher.

The "rule of three" states that a class that declares a destructor
should also declare an assignment operator and copy constructor.
In fact, C++11 deprecates their implicit generation if a destructor
exists.  Therefore, they should be explicitly declared.

I've also removed the private default constructor that I added to
FunctorHandler in a previous commit, it served no purpose.

Change-Id: I4797fe9864c741d3c5e30a11b8ab186ab56b4779
Merge topic 'dispatcher-warnings' into master

0a68fe20 Fix some more warnings in vtkDispatcher.
Merge topic 'atomics-improvements' into master

8d3f2756 Implements a few improvements for the atomic integers.