Add initial documentation

With @kalleth and @themitchell
Introduce timecop
Add published_at date to DSU on publish!

Trello ticket: https://trello.com/c/ZW0i6nya/362-add-first-published-date-to-the-dsu-finder-3-1

Add published_at date to drug safety updates on #publish! As this is part of the metadata for DSU we should store this in the DrugSafetyUpdate class not the SpecialistDocument class.
Make sure published dates are reset on withdrawal
Formatting fix on Dependencies on README

I'm not sure this is the best way of contributing this fix, so feel free to force push this commit out if I did it wrong.
Remove `IdGenerator` class and object-constant-based calls of it

The `IdGenerator` object did very little. It can be summed up as the
following bit of code: `SecureRandom.uuid`. Keeping it around doesn't
add anything and it makes it hard to understand why the constant form
of the object is being called in the way it does.

Removing it means there's one less thing to understand in terms of
using the already existing `*Builder` classes.
Merge pull request #285 from alphagov/add-readme

Add initial documentation
Merge pull request #290 from alphagov/reduce-repetition-of-id-generator-calls

Remove `IdGenerator` class and object-constant-based calls of it
Add how to add a new document format to readme

This commit adds a step by step guide for adding a new document format
along with how to to test that document format.
Merge pull request #292 from alphagov/how-to-add-a-new-document-format

Add how to add a new document format to readme
Add MAIB Reports to routes.rb
Add schema for MAIB Reports

Facets for MAIB Reports are vessel type, report type and date of
occurrence.
Add model for MAIB Report

This commit also adds the builder, factory and validator.
Add services for MAIB Reports

Also adds services for the MAIB Report Attachments.
Define repository for MAIB Reports
Add observers for MAIB Reports

This also adds the formatters for the artefact and for indexing by
Rummager along with all the necessary calls for these.
Adding views for MAIB Reports
Add permission check for MAIB Editors + nav link
Add spec for MAIB Report model
Testing MAIB Report workflow

Creating, editing, publishing and withdrawing MAIB Reports are tested by
these cucumber tests.