Support for both front end and back end data initialization.

In addition to creating a series of helper functions on the server, this adds three new ways to load data into a shell, all of which are currently accessed via optional HTML attributes.

- <b>data-initialization-url</b>: Should contain a url which will be accessed upon initialization, allowing the server to perform arbitrary initialization actions
- <b>data-initialization-json</b>: Can contain two types of content. The shell will automatically figure out which is which:
    - <b>Literal JSON</b>: A literal JSON string. The keys of this string should be collection names which map to arrays of documents that will be inserted into the named collection.
    - <b>A url</b>: The url should point to a file with JSON in it. This JSON should have the format described above.

Fixes #172
Fixes #173