Review system: add multi-user review model

This commit adds the database migration to add a separate review table to the
database. Each entry represents a review by a particular user for a particular
treenode of a skeleton. This new table has the following fields: reviewer,
reviewer_time, treenode and skeleton. Technically, the last field (skeleton)
isn't needed, because one can get the skeleton through the treenode. However, it
makes sense to have it for performance reasons.

This is part of issue #580.
Review system: move single user review data to new table

This commit adds a migration to copy all reviews that are stored in the
treenode table to the new review table. Each review gets a new entry
there. This data migration might take a while to run, if there are a lot
of reviewed treenodes. Also, it can be undone, if wanted.

This is part of issue #580.
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