Add interfaces for paginated results
In the context of the service implementations we need:
- something to forward the pagination request to the backend
- something to forward if the pagination is partial or not to the backend
- return a paginated result from the backend
- provide a way to enforce partial/non-partial results
- some default implementations for arrays, to keep things simple if pagination in the backend isn't possible.
<?php
// Something like this in a data provider
$options = PaginationOptions::fromRequest($filters)
$result = $api->getThings(["pagination" => $options])
return PagniationAdapter::fromResult($result) // either returns a PartialPaginatorInterface or a PaginatorInterface implementation