STYLE: Move processing of variables main class

This moves processing of per-thread cache variables to the class that
owns those variables.  This is a first step towards allowing those
accumulations to occur in a multi-threaded manner.

Change-Id: Ie4a3cbb47452018f7050174b726d82483d1af15c
WIP: Start refactoring to allow for threading the afterThreads accumulations.
WIP: Start refactoring to allow for threading the afterThreads accumulations.
WIP: Added initial pass for multi-threading the after computations phase.
WIP: Added Locking in serialized code.

Change-Id: I9834597dd4e7fdb7e6278a571a633df4c80d8bc0
STYLE: Test against almost equal for floating point values

Comparing floating point values for absolute equals is
nearly always a bad practice.  This patch adds the smallest
of tolerances to ensure that miniscule accumulation differences
due to multi-threading do not cause in-consequential test
failures.

Change-Id: I7636fa5c6d6e8f07ecfa2b1b7a72a525f5ff9af7
ENH: Added more parallelization.

Change-Id: I473ee64697fae93da18a55b1aa1ae86a09c7a02b