icebox/models:

Added ArtifactGroup and ArtifactGroupLink tables (for grouping
artifacts related to a "map" or a "calculation").
settings:

/icebox/artifacts/import is exempt from login, since the
oq-engine-server doesn't authenticate to the oq-platform. Instead,
our webserver configuration needs to lock down this URL to only
certain trusted hosted to prevent abuse.
icebox/views:

Updated the /artifacts/import view to get the calc summary and the
great an "artifact group" for each import.
icebox/views:

Added `list_artifact_groups` and `get_artifact_group` views.
icebox/tests:

Updated artifact import tests to match the new implementation (with
artifact groups).
icebox/tests:

Added tests for the views `get_artifact_group` and
`list_artifact_groups`.
icebox/tests:

PEP8 cleanup.
icebox/urls:

Added url mappings for `list_artifact_groups` and `get_artifact_group`.

Also adding trailing slashes to view urls, for consistency and to avoid
problems with clients (if you don't have the trailing slash, this can be
really frustrating-- /icebox/foo and /icebox/foo/ would not be the same,
and a client trying to access the first one would not work).

See also the django setting APPEND_SLASH.
icebox/views:

Removed an obsolete TODO comment.
icebox/views:

For consistency and convention, append slashes to all generated URLs.
icebox/tests:

Updated a handful of tests to expect trailing slashes in the URLs
sent back in view responses.
icebox/icebox_api.md:

Added trailing slashes to all method URLs, for consistency and
convention.
icebox/icebox_api.md:

Added API doc for the two new artifact group methods.
calculate:

Initial sketch of calculate functionality.
settings.py:

Added a TODO comment to the AUTH_EXEMPT_URLS to help explain
what to do with them in the future.
icebox/urls:

Added a TODO to make named URLs in the future.
static/js:

Removed some experimental libraries with I accidentally committed.
Merge pull request #98 from larsbutler/icebox-artifact-groups

Icebox artifact groups

[r=matley] [f=1233697]
Refactored the way constants are passed to client

The leaflet base map url is now a constant in the local_settings.py.

Through some refactoring in templates and leaflet app code, this url
is now available as a global constant to all leaflet-based apps
(at least ones that use the leaflet_base.html template).
Refactored URL constant injection