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 (you'll have to generate it yourself, at least until https://github.com/numenta/nupic/pull/1136 is merged), 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.
Don't align things like this. It is a hassle to update when you add a new one:
http://legacy.python.org/dev/peps/pep-0008/#pet-peeves