Added new SpatialPooler classes to SPRegion

Added two new spatial pooler implementation options corresponding to the C++ and Python versions of the new Spatial Pooler classes. The OPF should now support the new spatial pooler.  The old 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. Related to Issue #340