Integration tests for OAuth and bad API error cases

- Convert jasmine usage to mocha/chai/sinon in order to give before and after setup / teardown methods which aren't present in jasmine (by design). These are used to start/stop the stub api if it's installed.
- Add tests around various error response cases and a happy path. One of these still fails (partial XML response) due to the way xml2js works - this needs looking at. These require the (private repo) stub-api to be installed manually (see README).
- Add tests around success/fail paths for 2-legged and 3-legged oauth against the real 7d api. These tests require an api key and pre-authed access token to be set as environment vars (see README)
- Add a few minor fixes uncovered by the above tests, mostly missing callbacks.