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.