Reusing segments after hitting the max segments per cell limit

Starts https://github.com/numenta/nupic.core/issues/232.

Have yet to implement logic for reusing synapses, will do that separately.
Do you want this to return a copy of SegmentData? That seems like the safest (don't have to worry about dangling references or pointers) but incurs some overhead so depends on how you expect this to be used.