Saving and Authentication

Closes #57 and brings us closer to #61.

Saving - we call the workers that do this Persisters for now - is solved very simple: As treebank documents are so well converted to json, we can just update the json document and convert it back to xml. More complex solutions have to follow here for more complex documents.

Some changes to the documentStore and the navigator were in order to support this. 
- Retrievers and Persisters now need to define a generic identifier for what kind of document they plan to work on (such as `"docIdentifier" : "treebank"`). This can be any string in general, it's just here that Persisters can now the location where they will find the document in the documentStore they want to write on save.
- The navigato not only holds an array of sentences but also an object that contains sentences identified by their id (`navigator.sentencesById`) to gain easier access to them during saving.

The whole concept of the documentStore and the navigator still seems very flawed to me - changes will come once we really need them.


First steps to authentication service also are included in this PR. Conf files have another section called `auths` were `Auth` objects are defined - conceptually they work the same as `resources` and the `Resource` objects. They are reusable components accessible to resources that need authentication support.

The perseids configuration already makes use of them to read in the proper cookie. Only CSRF tokens are currently supported, OAuth will follow soon - others later.

We don't redirected to a login page - or catch any error for that matter - when the app is entered without necessary authentication. I think we can live with that for now, as usually the user that wants to use Arethusa from within Perseids will enter it from inside Perseids - which means he has to be logged in anyway.

This is of course only a temporary solution.