Refectoring 2: The Return of Insanity

Lots of refactoring. And by a lot, I mean A LOT. I think I can write
anything here as noone will ever read it. Yay me!

Server memory Services separated from database services thanks to
dependency injection (I knew it would come in handy somewhere). 

Comments for everything should be up-to-date.

Removed 3 servlets, assigned /data, /login and /edit to handle multiple
request which are similar. For example, /login now handles google, ajax
and nojs logins.

Updated README.