Update to modern idioms and update dependancies

Did a cleanup of the gemspec, spec_helper and readme.

I updated the both the dependancies and the development dependancies. Updated the specs to remove deprecations caused by the latest version of RSpec.

My main motivation of this was to allow the dependancy of the json gem to be something other than `~> 1.7.5`. (Namely I wanted to be able to use json 1.8.0 in a project of mine with this in my Gemfile).

This is a pretty big PR relative to the size of the gem so let me know if it's too much and I should die in a :fire: