Modernize test suite

* Make compatible with RSpec 3
* Use let() where appropriate
* Move to expect syntax (over should)

NOTE: It looks like a few of the integration specs need new VCR casettes!