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
Data views: make sure there is only one default data view
Data views: access positions through choice field
Data views: order views in admin list by position
Data views: make position editable in admin list view
Data views: provide access to the default data view
Factor out creation of JS project/stack data structure
Data views: load the default data view on first load
Data views: add two standard views and make one default
Merge pull request #443 from tomka/data-views

Data views to manage different CATMAID front pages