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