Refactor settings.js templating to support root pages

The previous settings.js templating assumed that the URL always contained
an instance ID. Now that we are starting to add 'top-level' pages (e.g.
user page) we need a settings.js template that works without an
instance.

As part of this change I fixed script src urls with double slashes and
added a simple context processor to make the SITE_ROOT setting from
settings.py available to all templates.

I changed mimetypes from application/x-javascript to the now standard
application/javascript (reference: http://stackoverflow.com/a/9664327)
Merge pull request #101 from jwalgran/topic/root-config-js

Refactor settings.js templating to support root pages
Fix bug in password reset email template

The extra comma in this template was causing an error.
Standarize on 'content' for all templates

In 9be3549e I made 'content' the standard main block for all templates.
I skipped these skeleton account templates by accident.
Move custom Django apps above contrib in settings

When testing the custom password reset templates I was seeing the
default admin templates provided by django.contrib.auth instead
of the templates in treemap. Moving the custom above the generic
ones allows for overriding any common contrib template.
Merge pull request #103 from jwalgran/topic/fixup-account-templates

Fixup account templates
Move jshint options into a separate file

When jshint is called from the shell it looks for in it's own directory and
then recursively up for a .jshintrc configuration file.

By moving the jshint options into a separate file the config can be shared
by grunt and jshint, so that jshint can be called directly.
Merge pull request #104 from maurizi/topic/jshint

Move jshint options into a separate file
A gift to whoever broke the build with PEP8 errors...
Fix overriding keys with the same field

Previously the `preds` dictionary was only keyed on the field so when
DBH min came around the first time it would write:

     `{ tree.diameter:{'MIN': 5}}`

However, when DBH max came around it would just override it:

     `{ tree.diameter:{'MAX': 9}}`

Now additional predicates are appended to the inner dictionary.
Add plot popup view and template

Generates the content for the popup shown on the map when the user
clicks a tree.

I named the view that routes to the tree detail page so that I could
easily refer to it in the plot popup template tag.

I did not spend a lot of time adding data-* attributes or style
to the markup because we are waiting for full HTML prototypes from
the designers.
Support an 'instance_id' parameter for all tile layers
Merge pull request #105 from ahinz/topic/update-js-with-instance-id

Add instance_id to tile requests
Show popup when clicking plot on map

A little more complicated then I would like, but the UTFGrid
control only returns the interactivty properties for a feature
and you need both data and coordinates to show a popup. My
solution uses Bacon to zip a stream of popup content with a
stream of map click coordinates.

I refactored the existing UTF grid hover code to use the new
asEventStream method whic I added to OpenLayers.Control.UTFGrid.

The popup has a link to the plot detail page. I added the
plot ID to the plot detail page template to make the change more
visible in demos.
Merge branch 'topic/plot-popup'

Conflicts:
	opentreemap/treemap/urls.py
Remove lint from treemap/tests/models.py