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.