Auth with tests

Authentication + Tests

Better setup for Unit and E2E tests

When the PR is merged I'll make some changes to the Wiki regarding this
This is on purpose.
This is supposed to be listening for changes on the current user and change the local currentUser.
It's a pattern for sharing data that I'm experimenting.

But I see what you're suggesting. How would you do that binding?
Another thing, the intention when i designed these services was for the ```Session``` service to be the only "public" service from the ```theshelf.auth``` module. As in we should only interact with it, the others (SessionStorage, CurrentUser and AuthHeaders) are just abstractions and are theoretically "private". Since Angular doesn't have that feature, it may lead to misuse.