Changed get_parent_location to get_location in urls.py.
No need for project id in catmaid API
Merge remote-tracking branch 'origin/new-django' into new-django
Created report_error decorator function in transaction.py
to be used to decorate functions and then, any raised Exception
will be returned as a JSON object with an error field in it.
Useful in particular for functions that don't do any commits
and aren't therefore decorated wtih transaction_reportable_commit_on_success.
Created collect_skeleton_ids and collect_neuron_ids from Object Tree,
which are used by the "Show all skeletons" menu item in the Object Tree.
The function finds neurons by inspecting groups with recursive SQL calls,
and despite that it works much faster than the previous implementation
that pulled the bfs_graph for the entire Object Tree, even for many levels
of nested groups.
Fixed error in class Neuron (noticed by Stephan Gerhard)
Forgot to commit change to urls.py for get-skeletons
Merge remote-tracking branch 'origin/new-django' into new-django
WeGL 3D Viewer no longer paints at 60 fps but only on mouse events.
Minor edit to webglapp.js
webglapp: much better handling of rendering in reaction to buttons and mouse.

Before, any mouse motion within the container would trigger a rendering event.
Now, only mouse motion when the mouse is down within the renderer.domElement does.
treenode is no longer an 'element_of' skeleton, other than explicitly
with the skeleton_id column of table treenode.
Segmentation backend consolidation
Merge remote-tracking branch 'origin/new-django' into new-django
Add data views to manage different CATMAID front pages

Up to now CATMAID's front page is rendered in the browser using
JavaScript and JSON data about the projects and stacks. This works
well, but extending this to e.g. show images, had to involve
changing the JSON data structure and complicating the JavaScript
rendering.

This commit provides an alternative for defining CATMAID's front
page. A front page configuration is called "data view". This term is
used, because it can easily provide everything linked to projects
and stacks and is not limited to it. Defined data views are
available from a drop down menu of the "Home" link in the upper menu
of CATMAID. Data views can be created and altered from Django's
admin view or directly in the data base. One can define as many of
them as one wants. Especially for many projects this allows for
different views on the whole data set.

Two new data base tables (and Django models), data_view_type and
data_view, are created. The first defines the possible types of data
views available, the Django template to use and some configuration
hints. The second one is for the concrete views, parameterizing a data
view type. Currently, there is a "legacy project list view" and a
"project list view" type. Using the former, CATMAID will use the
current JavaScript based display. The latter will use a Django template
to render the data view and send the result to the user. It also
supports the display of images, based on several configuration options.

The configuration of data views is done using a JSON string, saved with
each data view. To make this easier, the data view type's configuration
comment is displayed in the Django admin view when creating new or
modifying available data views. Available options should be explained in
this comment. For the project list view type, this looks like the
following:

    A simple adjustable list of all projects and their stacks. This view
    is rendered server side and supports the display of sample images.
    The following options are available: sample_images: [true|false],
    sample_stack: ["first"|"last"], sample_slice: [slice number|"first"|
    "center"|"last"]. By default projects are sorted. Use sort:false to
	turn this off. Thus, a valid sample configuration could look like:
    {"sample_images":true,"sample_stack":"last","sample_slice":"center"}

By default, the project list is sorted naturally, this can be disabled
or made explicit by using: "sort":[true|false]. Saving a data view, will
check if the configuration is valid JSON.

Adding new data views needs only two changes: the template file to
render the view and an entry in the data_view_type table to make it
known to CATMAID.
Add a tabular data view to display projects and stacks in the same row

This data view also supports the display of images instead of the
stack stack names.
Data views: let templates not show project if it has no stacks