Enable rubocop

This setup of rubocop is very lenient to begin with. Some leniencies are established in .rubocop.yml and other times rules are disabled inline in the files. Over time, more rules should be enabled.

This also adds rubocop to the default rake task.

I haven't gone back and fully reviewed everything myself, but I plan to this week. It's also probably better to get more eyes on this as early as possible given how big the change is.

I also should note that the bulk of these conversions were done by Rubocop's auto-converter.

Addresses #1586.
The specs pass for me locally with module_function on all methods. Not sure if that will be true for all builds though.