Pagination support

This branch allows user to pass `PaginationOptions` object with `limit` and `marker` argument to every `list` method.

Next iteration is to expose higher abstraction with Iterator which transparently handles pagination for the user.