Session Rewrite

This is a large rewrite of Elgg's session code. I've done as much as I plan to do on this pass. The API is supposed to be compatible with Symfony's session code in case we want to adopt that in the future.

Behind the session class are a storage class that handles access to the $_SESSION global and a handler class that handles persistence of the session data.

Further work could be done such as:
 * Move CSRF code in session class or create a CSRF class (from action service handler)
 * Move the login/logout code into session class or create a login service

Also need to check upgrading from 1.0 since sessions were file based for that version.