Refactor Response handler to properly deal with edge case

The API behaves a bit odd when returning a single record that is part of
a multi-request query. For example if limit is 200 and the query returns
201 records then two requests to the api have to be made. The first
returns an array of 200 records, the second returns a single record
instead of a single record wrapped inside an array. This makes client
code more complicated and is a pain to deal with. It is also not
intuitive.
Refactor the JSON response handler to detect this scenario and return
records wrapped in an array if they are part of a result set that is >
1.
Add warning message to XML handler, this is no longer supported

The XML response handler is not used by the current maintainer of this
library. Since there are unexpected issues with how the Pardot API
returns data, it does not make sense to invest any time in this.
If anyone actually wants to use this handler because they have to use
XML then get in touch with me.
Update tests to include new functionality of the JSON response handler