Connection pattern changed to session-per-request

For the last couple of weeks, every database operation needed a new
session to be created and then closed. This is knows as the
session-per-operation antipattern. The code has now been modified to
automatically create a session for every incoming request and then close
it after processing.

Why is this good? I created a stress test by adding location.reload() to
a JS file so that a page would be reloaded the instant it was ready.
With session-per-operation I could only open 5 or 6 tabs before the
server started failing. It just couldn't create new Sessions fast
enough. With session-per-request, however, I could have 10 tabs
attacking the server and still log in and add code like it was nothing. 

Sessions are now created and closed in HibernateFilter which processes
every request. It is not activated in server memory mode. More
optimization needs to be done as I might have missed something.

Hibernate updated to 4.3.5.

BUG FIX: accessing a non-existant codeitem will no longer throw an
error.

BUG FOUND: UserDeserializer is broken. Again. Gives NullPointer when
logging in with normal user.