Introduce AddressCollection class

I think that this could be interesting since we always return a set of
results rather than only one result. Having a class rather than relying
on the `array` primitive type since a bit more robust, and makes the API
more fluent:

    // Before:
    $addresses = $geocoder->geocode('foobar');
    $address   = empty($addresses) ? null : reset($addresses);

    // After:
    $address = $geocoder->geocode('foobar')->first();

WDYT?