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.
Neuron name service: fix type of skeleton collection

The collection of skeletons that are managed by the neuron name service was
defined as an array before. It was, however, used in all places as it was an
object. This commit fixes this problem and makes it an object right from the
beginning. This is related to issue #696.
Neuron name service: add skeleton ID as last fallback labeling

Like discussed in issue #696, there should be two default entries for
the skeleton labeling: skeleton ID and neuron name. The skeleton ID
should be the non-removable last resort and the neuron name the expected
default naming. This commit realizes that.
Group graph widget: fix adjacency matrix export

Since commit 7674945, where the master branch was merged into the
group-graph branch, the export of the adjacency matrix from within the
group graph widget wasn't working anymore. In the branch, the name
generation for the exported neurons was changed and two bugs were
introduced: 1. map was used instead of reduce, but the parameters were
not adjusted and 2. The closing quote for the neuron name got lost. Both
are fixed by this commit and the adjacency matrix export should work
again.

Thanks to Philipp Schlegel for reporting this issue.
Group graph: when exporting the adjacency matrix, names are already managed,
considering both groups and split neurons.
Circuit graph plot: getSkeletonModels must return an object, not an array.
Circuit graph plot: 'Refresh' button must use getSkeletonModels.
Circuit graph plot: rename variable for clarity.
Circuit graph plot: fix error when refreshing, which involves re-appending all.
Circuit graph plot: fix error when re-plotting, visible e.g. when resizing
the widget when there's only one skeleton added and therefore no plot present
and no vectors computed yet.
Group graph: fix issue with overlapping edges in reciprocal edges involving a group.

Closes #698
SkeletonConnectivity: remove obsolete cropping of neuro name
when creating a SkeletonModel. Used to have the role of removing the skeleton ID
from the name, but the ID may not be present anymore, and the "baseName"
of the SkeletonModel is no longer the name of the neuron neither relevant
other than for display purposes, given the neuronNameService.
Group Graph: export models with the name as shown in the nodes.
Classification JSON export: also export tags of all linked projects