Ontology search: add basic widget infrastructure
Classification search: add search steps infrastructure
Classification search: add feature selection tree

This commit adds support for the display and selection of ontology features to
the classification search. All children of "classification root" are displayed
as a tree, including relations. All of them are selectable.
Ontology: move feature path creation in ontology namespace

The methods and classes related to this were part of the clustering
namespace, because this was the only place where they were in use. This,
however, will change and also semantically they belong into the ontology
namespace.
Ontology: make feature read-out more robust
Classification search: display 'unfolded' ontology features

Due to relations like "is_a" the ontology display used so far (the one of the
ontology widget) is compressed. For every "is_a" relation there is a separate
path. This commit changes the current display to show all possible paths. Right
now only as a list, bit this will probably change in the future to a tree.
Ontology/classifications: re-organize feature generation

This commit moves all the feature and graph search functions to the
classification namespace. They fit much better there.
Classification JSON export: also export tags of all linked projects
Annotation search: fix AND/OR logic when multiple annotations are used

This commit makes sure that all annotations that are queried for are
ANDed while the annotation itself is ORed with its sub-annotations (if
they are requested). This didn't work before, because a valid result
only had to be annotated by one of the annotations. This is clearly
wrong and was noted in issue #700.

For some parts, Django indeed has a strange syntax to build complexer
SQL queries.
Classification export: Add possibility to exclude specific projects as tag source
Merge branch 'classification-tag-export'
Classification export: add missing content type of response
Classification search: add basic search widget
Ontology search: add possibility to define default filter tags
Ontology search: combine features of different ontologies with OR

Selected features of different ontologies are now combined with OR while
all features within one ontologies are combined with AND.
Merge branch 'ontology-search'

All conflicts have been resolved to include all changes of both parents.

Conflicts:
	django/applications/catmaid/control/classification.py
	django/applications/catmaid/static/widgets/themes/kde/screen.css
	django/applications/catmaid/urls.py
SelectionTable: reworked the 'Info' button to display statistics on the contributors
to the particular skeleton, rather than information that is either already
in the table itself (percent of review) or in the measurement table or in
the connectivity table.
So now "Info" shows who contributed how many nodes, pre and post to the skeleton.
SelectionTable: Forgot to add the construction time to the dialog for 'Info'.
SelectionTable: far more accurate measurement of reconstruction time,
by sampling all the minutes in which at least one treenode was created.

Higher resolution that a minute is not meaningful in any case.
Graph widget: fix adjacency matrix export

The adjacency matrix export was broken since the introduction of typed arrays.
Unfortunately, typed arrays only support a very limited set of array operations
right now (e.g. no reduce, map, join, etc.). A join, however, was used for the
adjacency matrix export---this commit replaces this join with a for-loop.