Support other methods for api requests

1) Should I add validation on method in the Request function? Or should I just let the API handle it/return an error there?
2) A note on the tests: I didn't want to try to mock out the whole API and making sure the responses were accurate for the new methods, but rather I wanted to test that the requests were being formatted and sent correctly. Since this library isn't dependent on the API actually making the changes to maintain state, it shouldn't be the responsibility of this library to make sure that the API is returning accurate responses. I'm open to pairing on tests if you think they should be done differently.
@azylman you have done this before, do you agree with the basic design idea. The `mock` interface takes in a function that is called in case of `POST` requests. Later refactoring could add a `map[string]func` where string would be in `POST, PATCH, PUT`.