Object Tree: "Cleanup fragments" popup menu entry
which prompts for a minimal size in skeleton treenodes
for skeletons to be sent to a neuron under the 'Fragments' folder.
The new neuron is named "Fragments" plus the date.
If the small skeleton exists in a neuron that only has one skeleton,
that whole neuron is sent 'Fragments' group.
graph2: fix error when splitting both by confidence and by synapse clustering
when there is a single neuron to expand by synapse clustering
and none other to split by confidence.
Graph widget: more robust way of detecting what kind of data the server sent.
node.py: remove one unnecessary table join
node.py: minor optimizations
node.py: avoid declaring SQL variables that are then not used.
node.py: sanitize project_id and avoid creating an implicit cursor
graph2.py: better parsing of treenode.location
graph2.py: more robust dual split by both confidence and synapse domain.

Before, could fail in error when a small chunk of the arbor lacked synapses.
node.py: fix error in querying tags

Thanks to Matt Berck for reporting.
webglapp: synapse coloring mode
Two modes:
 1. pre/red and post/cyan, like until now
 2. heat-map coloring, by number of synapses with/from a partner neuron
webglapp.js: make synapse coloring robust to not having one or the other
type of synapses.
Local client-side caching on request in review widget

Conflicts:

	django/applications/catmaid/static/widgets/review.js
	django/projects/mysite/urls.py
Cache image tiles segment wise.

Start google chrome with increased cache size (2GB) using

	--disk-cache-size=2000000000
Add /.settings/ to .gitignore

this directory may be created by Eclipse
auto-update address bar when stack position changes

The URL shown in the browser's address bar will now auto-update and
contain the current stack position, just as in the "URL to this view"
link. This is hopefully easier to understand and use.

Update occurs as soon as any of the Controls update OR a mouse move has
been completed with a left mouse release.

This uses window.history.pushState() .
Fix a bug in the review widget and speed up jumping to low node-count
fragments

The issue arose when calling initReviewSegment with an index
that was based off an array extracted with .slice() which does
not match the skeleton_segments index.
Add review puffer when reaching end of segment to review
Slice caching in pure javascript
Remove unused cache_image Python code