Use the base_path as mongo's _id field.

Saves creating an extra unnecessary field and index.  Will also mean
that any foreign-key fields will contain more meaningful values.

This uses Mongoid's field aliasing[1] to hide most of the details of this,
hence no changes were needed outside the model.

[1] http://mongoid.org/en/mongoid/docs/documents.html#fields
Add unit-level test for as_json base_path
Merge pull request #14 from alphagov/base_path_as_id

Use the base_path as mongo's _id field.
Extract validation of absolute path...

... so we can re-use it elsewhere
Add rendering_app to ContentItem
Register ContentItem routes

A set of routes gets registered for a ContentItem when it is saved to
the store.
Correct typo in factory
Prevent real web requests during tests

Relies on GdsApi::TestHelpers::Router and webmock to stub out route
registration calls
Store registered routes after registration

We store the routes that were registered in the same format as they
would have been set.