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.
Get source line for detailed report from Parser objects if possible.
Make sure right type of location is sent to add_offence.
Correct DetailsFormatter#report_file displays parsable text.

It's now Rubocop::Formatter::DetailsFormatter#report_file displays text containing the offending source line.
Merge pull request #267 from jonas054/details_formatter

Add a details formatter.