More rubocop

@localshred follow up from the last PR. This gets us nearly all the way to rubocop-completeness, but more importantly, it makes the tests run again, which I broke in the last PR :(
But _I do_ think they help readability, and they are consistent throughout most of the classes in the code base. When I go to add new methods to any class at the bottom there's a visual separation between the end of the module and the end of the final method. I'm just saying it matters to me.