Feature/auth

Authentication service and login page. Currently all pages are considered private and can only be accessed by authenticated users.

The first authentication in a day must be done against the CouchDB server. When that succeeds, the username and a hashed version of the password are saved in local storage and are by default used in all next authentication attempts of the same day, so the user can login without the need for an internet connection.

Hmm, interesting. I'd really like to avoid `.run` if we can though as it
gets called as soon as the module's loaded (e.g. in a spec:
`beforeEach(module('app'))`). Maybe I've yet to find a good recipe, but
I haven't found a clean way to test them.