Added support for new SpatialPooler classes to SPRegion

Switched cpp and py options to use SpatialPooler instead of the flat spatial poolers. The OPF should now support the new clean spatial pooler classes. The old FDRCSpatial2 class is still the default, but will change that soon.

Updated Hotgym to use the new class. Updated some of the Hotgym parameters to provide improved predictions.

Added checkpoint stress test to cover serialization bug fixed in https://github.com/numenta/nupic.core/issues/13

This is all part of Issue #340
Fixed name of test file

Needs to end in _test.py
Add submodule SHA
Moved over helpers_test from Grok trunk
Fixed header
Switch to unittest format
Moved over expgenerator_test from Grok trunk
Fixed formatting and following conventions
Using proper assert syntax for unittest
Fixed an error
Formatting
Moved over getself_test from Grok trunk
Converted to unittest format
Fix dataset path
Fix bug: If sensorParams['sensorAutoReset'] is true, CLAModel dies on assert (issue #609)
Cleaning up after test
Using logger instead of print
Reordered imports
Removed empty return
Fix identation