Session support

FINALLY.  It works.  

I'm preparing to merge in all of the rest shortly after breakfast.