Reintroduce hidden blank field for contact groups.

Without this field, it's not possible to remove all contact groups from
a contact, because the browser doesn't send any values if nothing is
selected in the form control, which Rails takes to mean "don't change
the value of this field".
Merge pull request #159 from alphagov/fix-cannot-deselect-groups

Reintroduce hidden blank field for contact groups
Add a migration to add and populate content IDs.

On a bigger data set, we'd probably want to avoid doing this in a
migration, but there's only about 100 contacts at the moment.
Populate and validate content IDs on contacts.

The level of validation on UUIDs is potentially more than we need for
this app alone, but the plan is to pull that code out to use in the
content store and potentially extract as a common content ID library.

We need an `Inflector` rule set up so that Rails' auto-loader knows to
look for `UUIDValidator` rather than `UuidValidator`.

We also need to declare our own model in the migration, because the
`attr_readonly` declaration stops us populating content IDs in existing
items.
Merge pull request #160 from alphagov/content-ids

Add content IDs to contacts
Add relationships between contacts.

Relatedness between contacts is asymmetric (just because A is related to
B, doesn't mean B is related to A) and currently has no inverse
relationship defined; we can add one if and when we need it.
Add related contacts to the contact form.

For now, we can get away with using selecting all the contacts and
dumping them into a multi-select field, because there's only around 100
of them. If and when we get to the point of using this for more contact
details from around government, we're going to need to do something a
little smarter with this field, because:

  * the page is going to get slower and slower as we add contacts
  * it's going to get harder to find the contact you're looking for

This should be good enough for now, though.
Send content IDs to the content store.
Send related contacts' content IDs as links.

The content store will be able to look these up by their content IDs and
expose their current titles and URLs to the frontend for rendering.
Make contact_relationships foreign_key columns 'NOT NULL'

Also tidy up the migration a bit, and remove the `class_name` param that
does nothing and is ignored.
Merge pull request #162 from alphagov/related-contacts

Select and publish related contacts