Annotations: keep annotator when joining and splitting skeletons

Up to now, the annotator of a kept annotations on joining and splitting
skeletons was lost. Instead of the original annotator, the current user
was used.  This is not the intended behavior, so this commit makes sure
the original annotator is kept on join and split operations.

Thanks to Ingrid Andrade for reporting this bug. This commit fixes #653.
Annotation search: fix bug preventing more than one "include sub-annotation"

Even though additional annotation filters could be added, checking "Include
sub-annotations" did not have any effect for the new filters. This commit fixes
this problem by giving a new sub-annotation control a proper name and by making
the query generation aware of the fact that there can be more than one of these
fields.

Thanks to Casey Schneider-Mizell for reporting this bug. This commit fixes #655.
Remove debug print statement
Statistics widget: fix minor bug in pie legend generation

The legend of the pie chart will display all names in columns. This,
however, only worked for the first two columns. If there were more than
two columns required, only the first two were shown. This commit fixes
this problem.

This also fixes point 8 of the list of things to refurbish in the this
widget, discussed in issue #625. There, a pie chart entry for all
"Others" below the threshold was requested. It was actually there, but
the label wasn't displayed. Hence it wasn't recognizable.
Review widget: allow user to disable auto centering on active node

Auto centering can cause big jumps and make it harder to follow the structure of
a neuron. This commit introduces the option to disable auto centering when
selecting the next node (pressing Q or W), if wanted.

This fixes #651.
Remove some unneeded whitespace
Annotations: remove unneeded parameter
Annotations: refine comment of annotation creation method
Annotations: remove semicolon from end of line
Annotations: don't allow duplicates from different user on same entity

There is currently no need for allowing the same annotation to be linked
multiple times to the same entity by different users. Doing this complicates
things and also causes a problem when multiple "locked" annotations are added
(in this case, the entity is locked twice---who wins?). This commit makes sure
annotations can only be added once, regardless of the user. It also extends the
returned object to include the IDs of all entities that have actually be newly
annotated with a specific annotation.

This fixes #656, in which it was reported than one can add own "locked"
annotations to locked entities, thereby gaining permissions on them.
Annotations: add more detailed status messages when adding annotations
Navigator: fix display of usage time, annotator and usage count

Up to now all annotation lists displayed in the neuron navigator showed
very confusion information for the last usage time, the annotator and
the usage count for each annotation. These three columns always referred
to all instance of a particular annotation, it didn't respect user and
neuron filters. By not doing this, the output was usually misleading: If
one, for instance, added the 'locked' annotation to a neuron, the neuron
navigator would show for all occurrences of the locked annotation the
data for this last addition of one's 'locked' annotation, i.e. oneself
as annotator, its point of time as last used time and the overall usage
count. This is wrong and confusing.

This commit makes these three columns (last used, annotator, usage
count) respect user ID and neuron ID filters. It is clearly a bug that
this has not been done before. This change fixes #657.

Thanks to Javier Valdes Aleman for spotting this problem.
Navigator: don't show annotation usage count in neuron node

The neuron node displays a list of annotations linked to the neuron
currently displayed. Since annotations can only be linked once to one
entity, there is not much sense to display the usage count for each
annotation---it would always be one.
Remove unused variable
Annotations: query sub-annotation IDs only if requested

This commit makes sure that the list of sub-annotation IDs for a set of
annotations is only retrieved if these are actually requested. This
saves one query in a standard search.
Annotations: fix small style error in basic query generation

Although Django is clever enough to know that there is no join needed when we
filter model objects on a foreign key field by using "field__id" instead of
"field_id", it is clearer and more readable to use the latter.
Annotation search: fix annotator and time constraint filter logic

The annotator and time constraint filters have to be valid for all results.
This, however, wasn't the case so far. Both were used as alternative filters to
the annotations, while they should actually constrain the annotation even more.
This commit fixes this by making sure annotation, annotator and time filters are
combined with an AND to query the search results.
Annotation search: delete unused fields from request
Annotations: fix bug that prevented creation of meta annotations

This bug only had an effect when one tried to add an annotation along
with a meta annotation for it.
Style change: make treenode module mor PEP8 compliant