Tidy up requests

- Clean up the Gemfile to better use the `:test` and `:development` sections
- Add in some more test coverage and base of test suite
- Refactored `json_response?` method to accept parameters