[RFC] Introduce AddressCollection class

I think that this could be interesting since we always return a set of results rather than only one result. Moreover, having a class rather than relying on the `array` primitive type seems 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?
Yes I think we can remove `null` here. We always have at least one `Address` in the collection.