Add annotation cache

This commits adds a small utility class and object which acts as a central
annotation storage. It should be used to get annotation lists or translate
between annotation names and IDs.
Show annotation name when asking for confirmation on removal
Fix typo
Annotation search: make annotation input field ID a class attribute

This field can be duplicated with the help of the "+" button next to it. When
doing this, the input elements' ID isn't updated. Multiple occurrences of the
same ID is illegal and since it will soon be required to address all of these
input fields in one go, the ID has been replaced by a class attribute with the
same value.
Annotation search: refresh cache and auto complete on new annotation

When an annotation is added to an entity, the annotation cache will be
refreshed if the annotation wasn't part of it before.
Annotations: return used annotations when adding new links

When new annotations are added, the back-end now returns a list of all
annotation objects that have been used for the requested links. In particular
the names and IDs of those annotations are returned. The front-end builds its
status message now from the annotations returned instead of the ones from the
request.
Annotation search: update cache with added annotations without request

After annotations have successfully been added to an entity in the annotation
search, new ones will now be added to the cache automatically. This happens only
on the client side and is no actual cache refresh. However, it is consistent
with the back-end.
Annotation search: don't request complete annotation update on refresh

The annotation search's refresh method now uses the current state of the
annotation cache. It doesn't update the cache anymore.
Upgrade cytoscape.js to version 2.0.5

This update seems to fix issue #571 which was about a very high z-index of
cytoscape braking basic window manager operations (like resizing).
Simplify settings by adding defaults for export folders

This commit removes the requirement to specify export folders for the hdf5,
cropping, ROI and treenode export tools. All defaults that were used in the
example configuration file have been moved to settings_base. This way they
can still be overridden in a settings.py file.
Cropping: be more verbose when output dir isn't accessible

If the requesting user is a super user and the output path can't be accessed,
the error message now contains the assumed path.
Node export: be more verbose when output dir isn't accessible

If the requesting user is a super user and the output path can't be accessed,
the error message now contains the assumed path as well.
Style change: replace remaining tabs in tracing tool with spaces
Set strict JavaScript mode for tile layer control
Ontology tool: add and remove button classes in single call
Style change: use standard indentation in tile layer control
Layer controller: empty container before refilling

The tile layer controller currently re-creates opacity sliders for all
layers it known on every refresh. This commit makes sure old sliders get
removed before. This fixes issue #572.
Make stack refresh layer view when new layer is added
Unify indentation in tracing layer and add standard style header
Make tracing layer store opacity information