Add /tests URL to give access to simple QUnit front-end tests

This commit adds a Django template, a URL to call it and an example file
to have a simple way to create tests for the client-side JavaScript of
CATMAID. QUnit is used for this. Tests should be placed in files within
CATMAID's 'static/tests/' directory. New files need to be included in
the 'templates/catmaid/tests.html' file.
Show user info in the status bar when selecting a treenode

Rather than showing object tree information in the status bar when
selecting a tree node, show the same authorship and review user
information as when pressing "i", with node and skeleton IDs included.
Closes acardona/CATMAID#699.
ArborParser: new function collapseArtifactualBranches to remove terminal branches whose end node is tagged with "not a branch".
CircuitGraphPlot: anatomy prunes away artifactual branches whose end nodes are tagged with "not a branch".
CircuitGraphPlot: anatomy must cache Arbor functions after prunning branches.
CircuitGraphPlot: added measurement of "Cable of main dendritic shaft"

Computed using the cable length of all nodes with 0.9 * max centripetal flow centrality.
Ontology: make feature retrieval more robust
Ontologies: fix text if a classification graph realizes ontology feature path

Neither the simple nor the complex implementation of this test checked whether
the class (i.e. the type) of the parent graph component is the correct. This
is no problem until the first child nodes of different ontologies are different.
But if a sub-tree is reused in different ontologies, this breaks down. This
commit fixes this problem.
Ontologies: make root node of feature link part of its name

This allows clear distinction between displayed feature links if an ontology
sub-tree is reused underneath different classification roots.
Merge branch 'master' of github.com:acardona/CATMAID
WebGLApplication: fix error in coloring by own-reviewed.
GroupGraph: fix broken button "show hidden".
Ontologies: test parent class only for first element of path

Testing the parent class on all elements of the feature doesn't work.
The test is pretty naive and assumes too much about the structure of the
graph.
Improve performance of some aggregation queries

Replacing count(column) with count(*) in SQL queries can lead to a
performance improvement (e.g. queries like retrieving the number of
treenodes per skeleton).  This, however, only works correctly if the
column of interest has a NOT NULL constraint. Without it, count(column)
and count(*) would have different semantics. The former wouldn't include
NULL in the given column. The latter in turn would.
Classification export: use feature short name for feature list

Using the short name causes the classification name not to show up when
exporting the whole classification space. It is part of the exported
object anyway.
Ontology clustering: make 'Average (UPGMA)' first linkage option

The UPGMA linkage method seems to be of more use to the folks using the
ontology clustering. Therefore, this commit makes it implicitly the
default.
skeleton.py: remove debugging print statement
Show Nginx example configuration from create_configuration script

In addition to the existing Apache configuration, the script now also
displays a simple example configuration for Nginx. This closes #666.
Refer to Ubuntu 14.04 in the installation instructions
Add migration to remove duplicate annotations

To do all duplicate annotations are retrieved and looked at. If one duplicate
annotation was created by the same person who created the annotated neuron, this
annotation is kept, the other(s) are marked for removal. If such a user doesn't
exist, the oldest annotation link is used.

The administrator is presented a list of all annotations that will be removed
along with the neuron ID and the user who created that annotation link. One can
then confirm the removal, ignore these duplicates or cancel the migration.

Issue #724 discusses this issue.