[#87160] Email Raw Export general reports as delayed jobs

I know this is going to take a hit in Code Climate because it extracts the CSV generation code out of the view, where it should notice it. I refactored it lightly this round. The view still exists as it was, but I think it may be dead code now. Tests fail if I remove it, but I don't think it needs to be there if the only "Export Raw" reports are general_reports.

This relied on @mlineen's PR #164 so it's included here. I can rebase it out if that it gets merged first.

I'd like to discuss how to handle running the delayed job queue.

There will be a separate PR for the NU fork.
You're probably right that Code Climate won't like this. What about splitting out each of the sections into discrete methods that return arrays that you can concatenate together? For example you would have

```ruby
def ordered_by_columns(ordered_by)
  [ordered_by.username, ordered_by.first_name, ordered_by.last_name, ordered_by.email]
end
```
Then `row = basic_columns + ordered_by_columns(order.created_by_user) + ...`
That might also clean up some of the need for all those variable declarations at the top of the method.