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.
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.
Fix permission check on treenode tag removal

This commit replaces the code responsible for deleting tags of treenodes
(like 'ends'). Before it was only tested whether a user is a superuser
or is owner of this tag. It didn't honor group membership. This is
is fixed by using the existing permission checking function
'can_edit_or_fail'. It closes #725.
Remove a tag's class instance if it isn't used anymore

After removing a tag from a treenode, it is now tested whether the tag is still
linked to another treenode. If it isn't, it is removed (i.e. it's class instance
is removed). This fixes #422.
3D viewer: add fallback file name pattern for mesh loading

Instead of only looking for the file "<project_id>_<stack_id'>.hdf", the mesh
loading function of the back-end now also looks for "<project_id>.hdf" if the
former one isn't found. This makes it easier to support many stacks in one
project with the same mesh.
Add simlpe neuron name service front-end test example
Merge branch 'front-end-tests'
Move tests into own subdirectory

Also the name of the test module changes to let it be found by Django's test
discovery (all files matching test*.py).
Tests: add test case base class with common fields
Tags: use dedicated tag removal method for unlinking

Using this function instead of deleting the links manually allows us to
move the code for the potential removal of the link itself (if not used
anymore) there. This is done by this commit as well. It makes testing
much easier and reduces code redundancy.
Tests: add test for the removal of tags

This test makes sure the actual tag class instance is also removed after
the last link to a tag is removed.