Review system: make review update support multi users

This commit updates the review update backend function to write into the new
review table and therefore to support multiple users per treenode.

This is part of the work on issue #580.
Review system: update node info to support multiple reviews

This commit updates the front and backend for providing treenode information
(e.g. by pressing <I> when a treedenode is selected). It now supports multiple
reviewers per node and displays them as a list.

This is part of the work on issue #580.
Tracing statistics: remove review statistics

It is now possible that more than one user can review a tree node. The review
statistics chart would need to reflect this in some way. Because it isn't clear,
yet, how to do this and whether such a statistic is needed in the first place,
this commit removes it.

This is part of the changes discussed in issue #580.
Treenode table: simplify user dictionary creation
Style change: make treenode table backend more PEP8 compliant
Treenode table: make imports explicit
Treenode table: show all reviewers in last column

Since it is now possible to have multiple reviewers per treenode, this commit
makes the last column of the treenode table display a list of all reviewers.

This is part of the work for issue #580.
Review system: generalize review retrieving method from treenode table

This method returns a defaultdict with treenodes as keys and a list of
reviewer IDs as values. The result set can be reduced by passing a list
of treenodes or a list of skeletons. The as values listed users can be
modified by passing a mapping function (to list e.g. user names instead
of IDs). The treenode table now makes use of this function.

This is related to the changes discussed in issue #580.
Review widget: use TH elements in table header

Most browsers automatically emphasize TH elements by making their text bold.
This helps to distinguish table content from header and this commit makes use of
this fact.
Review widget: remove 'Review revisions' button and functionality

Now that there are multiple reviews per neuron possible, there is no
need anymore for resetting all revisions of a neuron. Reviews can be
done in parallel. Therefore, this commit removes this functionality
and the button.

This is part of the work discussed in issue #580.
Review widget: remove 'Review revisions by others' button and functionality

Now that there are multiple reviews per neuron possible, there is no
need anymore for resetting the revisions done by others in a neuron.
Reviews can be done in parallel. Therefore, this commit removes this
functionality and the button.

This is part of the work discussed in issue #580.
Review widget: add basic support for multi-user review

This commit updates frontend and backend code of the review widget to support
multiple users reviewing treenodes. Each treenode has now a list of reviewer IDs
attached which is empty if there are no reviews. The review table itself shows
always the current user in the first column, because this is usually what one is
interested in. The last column contains a union of the reviews of all users
having contributed to the neuron or a specific segment, respectively. If no
reviews have been done, yet, one the selected neuron, only one column (the one
for the current user) is shown and the union column is omitted.

This commit is part of the work discussed in issue #580.
Review system: make reset of own revisions support multiple users

Reviews have their own table now to support multiple users per review. This
commit makes the function to reset ones reviews aware of this.

This is part of the changes discussed in issue #580.
Review widget: highlight currently selected segment

Highlighting the current segment, makes it much easier to find in a larger table
of segments. To do this, this current text makes the text of the current text
bold.

This commit relates to issue #580.
Review widget: add follower checkboxes to select next segment

This commit introduces a new feature to the review widget: Every reviewer column
gets now a checkbox added in front of the user name. If checked, one "follows"
this user. This only has an effect for selecting the next segment (e.g. by
pressing 'E') during/after the review of one segment. The behavior up to now was
that the next segment is selected, that hasn't been completely reviewed by
oneself. This is now extended to have the next segment selected that has not
been completely reviewed by any followed reviewer. By default this is only
oneself, so default net effect is the same as before. It can, however be
extended to express for instance the trust in the reviews of another person by
skipping segments reviewed by her/him and continuing with a segment that has not
been completely reviewed by any followed user.

This change is part of the review system update discussed in issue #580.
Review widget: simplify table layout

This commit removes the extra header row that just said "Status" and was
spanning the actual reviewers. It is quite obvious that these columns are
referring to the individual user statuses. The table looks now much cleaner
again.

This is part of the multi-user review changes discussed in issue #580.
Connectivity widget: support multi-user reviews

This commit introduces a review mode drop-down to the connectivity widget. It
allows to select what review numbers should be displayed in the incoming and
outgoing tables. If set to "union", the review percentage is displayed,
independent of reviewer. Alternatively, one can select one of the reviewing
users. If selected, only the percentage of the reviewing user is displayed.

This also introduces some changes in the back-end and the response data
structure had to be adjusted slightly. There are probably some performance
improvements possible.

This commit is part of the changes discussed in issue #580.
Connectivity widget: add percent sign to review numbers
3D viewer: support own and union review coloring

This commit makes the compact-json API return a mapping of all reviewed
treenodes for the selected skeleton to their reviewer IDs. This is used
by the 3D viewer to allow two new coloring modes "All Reviwed" and "Own
Reviewed". The current user's color is used as a highlighting color in
both cases. A dark grey is used as "unreviewed" color. This replaces the
previous "By Reviewer" coloring mode to support the new multi-user
review system.

The compact-json API still returns the original reviewer ID. It will be
removed in a separate commit.

This is part of the work discussed in issue #580.
Multi user review: remove review field from compact-json query

The new multi user review system moves the review information in its
own table and the review_id column will eventually be removed from the
treenode table. This commit changes the treenode table query of the
compact-json API to not query and return the reviewer_id in a treenode
entry anymore. The review information will be added as a separate object
in the response which contains all reviewer_ids for each treenode of the
current skeleton.

This implies a change of all places where the compact-json is used. This
is the 3D Viewer, the Neuron Navigator and a remote access script. The
former has been changed in the commit before this one and is now only
changed to reflect the index change in the returned fields (the reviewer
field is now removed). The Navigator had a column showing the review
percentage for a neuron node. This column can't be expressed that easily
anymore (a union/own percentage would be possible, though). Is is
therefore removed for now. And the latter just needed to have the indices
and the review retrieval adjusted as well.

Issue #580 is where this and other related changes are discussed.