Add a details formatter.

I anticipate a bit of discussion before this is merged. For example:

1. The name "details".
2. Adding a source parameter to `Cop` and `Offence` constructors. It was not
   possible to get the source line from a `Range` object in all situations,
   e.g. if the program consisted only of comments.
3. The output. It's based on "simple" with the file name added for each
   offence, since I found that the file name heading often is scrolled out
   of view now that each offence takes up three lines.