Errors with larger responses

When attempting to run pointdns.records.list on a zone that about 450 records, I get the following:
```
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (/home/controller/app/node_modules/pointdns/pointdns.js:130:21)
    at IncomingMessage.EventEmitter.emit (events.js:95:17)
    at IncomingMessage.<anonymous> (_stream_readable.js:746:14)
    at IncomingMessage.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)
    at emitReadable (_stream_readable.js:404:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at IncomingMessage.Readable.push (_stream_readable.js:127:10)
    at HTTPParser.parserOnBody [as onBody] (http.js:142:22)
```
This method works perfectly fine on smaller zones however.

It's also rather common practice with node.js to have callback functions as the final argument to any method. This isn't so much an issue, but a norm that the majority have come to expect and all official packages from the node.js team, as far as I'm aware, follow this structure.

I've submitted a couple commits in this pull request with some changes to the request to handle chunking of data on large responses and to uniform the use of callbacks. I'd also recommend looking at [request.js](https://github.com/mikeal/request) as although it'll add a dependency to the module, it'll make handling requests much tidier and simpler.