Create a fact model

This will be the core component of this application. It will store
facts that are small, regularly changing, pieces of information that
are used in multiple places across GOV.UK.

The basic set of tests just makes sure we can create a Fact object
with the respective default values and that it gets persisted.
Remove extra newline
Facts should have unique slugs
Remove the root spec as we're not using it
When a fact exists, display it to the user

This hooks up the Fact model to the controller and routing for the
application. It just makes sure that a given (existing) Fact can be
viewed.
Rename fact_spec to facts_spec

Features tend to refer to the plural form (as with the controller).
We expect a JSON response to begin with

Keep this feature simple by returning a JSON response instead of HTML.
When we need to return things for the admin UI we can deal with it as
and when we come to it.
Use a FactPresenter to store the logic for JSON representations

Rather than doing a manual slice (what this replaces) we're better off
keeping this logic contained within a model presenter so that we can
better abstract our data structures and presentation.
Update FactPresenter fields to match current forms

Just a few tweaks to the JSON presentation after a discussion with
@mnowster about how we compare against govuk_content_api responses and
be consistent for our public respresentations.
Use 'get' instead of 'match' for routes

Otherwise we'll be matching all verbs (we don't want this for the time
being).
'slug' is a required field

It's the thing that we want to use to query our models with, so make
sure it's there.
Fields for the 'fact' table should be NOT NULL

We don't want null fields creeping into our database. Just means that
our database (schema) validates our data model as well as the Rails
models we're using here.
Merge remote-tracking branch 'origin/serving-facts'