New Temporal Memory implementation

Progress on https://github.com/numenta/nupic/issues/1086.

Still working on end-to-end integration tests, but it looks like the basic functionality is working.

Please review: @scottpurdy 

@subutai If you get a chance, take a look at the generated documentation, and see if it all makes sense to you at a high level. I've already shown you the design beforehand, so nothing should be too surprising there.
Please give the test methods descriptive names and doc strings. Please remove showTest and show.