Extract shared specs, use in RegisterableGoneRoute

www.agileplannerapp.com/boards/173808/cards/8116

Implementing [Gone items](https://github.com/alphagov/content-store/blob/master/doc/gone_item.md) in content-store.
Here's the model and some refactoring.
Updating RegisterableRouteSet to handle gone items

www.agileplannerapp.com/boards/173808/cards/8116

Updated related docs as well.
Merge pull request #79 from alphagov/gone-route

Represent content that's no longer available
Add locale field to content items

This signifies the language of the content item. It defaults to "en", but can be
explicitly set by publishing applications for content that is non-English.
Add a migration to set the locale for all existing content items

This sets the locale for all existing content that isn't a "gone" or a
"redirect".
DRY up the concept of a non-renderable format
Merge pull request #80 from alphagov/add-locale-awareness

Add locale awareness