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 :(
I guess it's mostly personal preference, but `Delegator` is not a very useful class in general. Specifically, I found it more acceptable to call `__setobj__` than to define `__getobj__` and manually manage the ivar on L48