Reporting, Phase I

Hey @seven1m,

I've reapplied the reporting changes I made in #189 and #237 on top of the latest version of master so this should create a cleaner commit.

Also did some refactoring - split out the common elements for date formatting into separate partials so that we can reuse them.   Tests are all passing locally so if they don't here its all travis' fault.

Also did the change for #307 while I was in there.

:smile: 
Well hound, I actually need these, because changing them to single quote strings causes the statement to fail. :stuck_out_tongue: