Paginates data and returns collection-based results for multiple Horizon endpoints.
@type pagination() :: {function(), Keyword.t()}
@type records() :: [resource(), ...]
@type resource() :: {module(), function()}
@type response() :: map()
@type t() :: %Stellar.Horizon.Collection{ next: function(), prev: function(), records: records() }
@spec new(response :: response(), resource :: resource()) :: t()