Use Nock for unit test

Closes #10

Port over existing unit tests to [Nock](https://github.com/pgte/nock), primarily for testing that the client library makes the correct HTTP calls.

I kept the unit test spec style to the one you already have using [should.js](https://github.com/shouldjs/should.js)
What do you think about moving to the built in `assert` library, instead of `should`?

### todo
- [x] Remove `options.fake` parameter
- [x] Remove `debug` boolean in unit tests
- [x] Move existing unit test specs over to [Nock](https://github.com/pgte/nock)

----
I wanted to wait with creating any further unit tests, until I hear your thoughts on this PR - since it's quite major changes.
Can just call `api.done();` and if it hasn't been called, it will throw. See [here](https://github.com/pgte/nock#expectations).