Modernize

@nevans Hello! I was trying to use this today and found that bundler didn't like some of the conflicts with the gems you're using. I've gone ahead and updated your dependencies along with some other improvements.

Community opinions of Rubocop vary somewhat, so I'm happy to omit that commit if you feel that's appropriate.

Thanks!