Some general gem clean-up/modernization

Before I get too deep into the codebase, I wanted to tidy things up a bit and make it look a little more like a modern gem.

Hope you find this acceptable!