Prefer `log.Fatalln` to `log.Fatal`

For consistency with our use of `log.Println`. Ensures that a new line
is printed after the log message.
Replace stdlib log package with logrus

Replace the `log` package from Go's standard library with
[logrus](https://github.com/Sirupsen/logrus), primarily because it
supports logging levels.

The default logging level outputs warnings and above. For more logging
detail, use the `-verbose` flag. The `-quiet` flag outputs errors only,
and the `-debug` flag will output debug messages (we currently don't
have any).

Logrus also supports Airbrake and JSON-formatted logs, which we can
parse with [logstash](http://logstash.net/).

Note that I have only changed the main package to use these levels so
that the other packages remain portable.

Also, move much as possible of the package initialisation to the
`init()` function.
Merge pull request #58 from alphagov/76505670-logging-levels-logrus

[#76505670] Replace stdlib log package with logrus