Added autopagination helper with callback support

This standardizes the `get_all` method to return a HashRef as well (instead of an ArrayRef) to standardize the method interfaces, and adds support for automatic pagination of records.  By passing in a callback subroutine, the method modifier is able to automatically fetch all of the records and process them as they become available, and reduce the need for chaining `get_all` manually to the `get_disputes` method:

```perl
# Old way (still works)
print ~~@{$bp->get_all($bp->get_disputes({limit => 100, 'created_at[>]' => '2014-05-01T00:00:00'})};

# New way, more flexible because it can display progress to the client and process records when they become available
$bp->get_disputes({limit => 100, 'created_at[>]' => '2014-05-01T00:00:00'},
    page_callback => sub { my ($items) = @_; print ~~@$items }
);
```
If we do that, then every time we add a `get_plurals` type of method, we would need to patch their implementations to call `get_all` inside.  By using a method modifier, we don't have to touch the methods themselves at all, which is an advantage in my opinion.  It keeps the cross-cutting concern of pagination separate from the client logic.