Session UUID

@zml2008 @sk89q 

I did some weird things here to provide backwards compatibility, I was wondering if there were any suggestions either of you might have?