CircuitGraphPlot: replace I - O with (I - O) / (I + O)

So now it's a relative measurement.
Remove public field from Project

This field is not needed anymore since we're using
Guardian for permission management.
CircuitGraphPlot: option to reroot at soma prior to loading anatomical measurements.
Merge pull request #713 from fzadow/remove-public-from-project

Remove public field from Project
Remove all references to the 'ediable' property of a stack from front end

This propery is of no more use since we moved to Django and its per-object
permissions.
Remove 'editable' property of projects from back-end

This removes some permission queries when loading all projects. The
'editable' property is of no use anymore and can safely be removed.
Merge pull request #658 from acardona/remove-editable-property

Remove editable property
Connectivity widget: use correct ID to track selection of target neurons

Before, a combination of widget ID and skeleton ID was used to track the
selection state of the target neurons. This imposed to problem, but it
is more consistent to use the skeleton ID only, just like it is done for
all the partner neurons.
Connectivity widget: update synced widgets on selection change of target neurons

This fixes #697.
WindowMaker: new function appendButton to shorten code lots.
WindowMaker: shorten creation of buttons for GroupGraph.
Neuron name service: get neuron name from back-end, too

So far, the neuron name was taken from the skeleton model's base name
field. This, however, isn't guarantied to always have the correct
value (discussed in issue #696). Therefore, the back-end is asked to
include this information when the front-end asks for all labeling
information (if it is needed).
Arbor.js: made some functions resistant to root being null or being the value zero
(which is falsy in javascript).
Arbor.js: new function pruneAt

Cuts away all branches for a given set of nodes that define the cuts,
inclusive of those nodes.
GroupGraph: new button to measure risk of an edge

The edge is either selected or both its input and output nodes are selected.
Autapses are labeled with maximum risk.

Uses the flow centrality method, computing the fraction of input
synapses removed when cutting the arbor at the nodes receiving
the synapses that make up the graph edge.

Skips groups.
Cannot yet handle split nodes.

Needs heavy refactoring.
GroupGraph: fix error in shift+alt+click to activate a skeleton.
Arbor.js: rewrote functon findBranchNodes, more performant and returns now an object
instead of an array.
Annotation search: sort annotation list alphabetically

This makes it much easier to look through the annotations of search
results and it fixes #693.
Arbor.js: better docs for function findBranchAndEndNodes
Arbor.js: new function lowestCommonAncestor  of a set of nodes.