new docs, features, and some refactoring

FYI -- this pull request includes multiple changes to the internal API, which should not affect developers (the public facing API will always support Pyramid's ISession interface and that hasn't changed). I am merging this to master now to get the new docs on readthedocs.org and prepare for a new pypi release in the next two weeks. If you have any concerns about the changes in the meantime please feel free to open an issue here and I'll respond as quickly as I can.