Added ability to retrieve paginated resources.
Extracted resource retrieval and hydratation into a separate method.
Retrieving a set of resources (such as all invoices for a customer) will
repeat the API call for each page in a paginated response and collect
the results. This makes sure that all resources are returned for a
specific query if there are too many for one page of results.
Added method to retrieve all invoices.