Introduce TagSet domain object

Implements #to_h and #fetch

TagSet serialises to a hash at which point it sorts tag values for consistency.
This is essential for efficiently (ish) searching Postgres HStore.
Remove TagInputNormalizer
Missing Application class dependency in production
Merge pull request #20 from alphagov/missing-application-dependency

Missing Application class dependency in production
Allow db acess on the VM without password

On the VM when providing a host we cannot hit the database without a password. In order to bypass this, let's not use a host
Merge pull request #21 from alphagov/bug/fix-db-creation-on-vm

Allow db acess on the VM without password
Merge pull request #18 from alphagov/tagset

Introduce TagSet domain object
Add created_at timestamp

* Normalised hash keys throughout to strings.
* Timestamp generated by the application from an injected clock object.
* Subscriber list becomes a Struct with some knowledge of serialisation.