Cache provider configuration order changes

When I have following configuration in my config.yml:
```
services:                                                                                                      
    acme_cache_adapter:                                                                                        
        class: "Doctrine\\Common\\Cache\\ApcCache"

bazinga_geocoder:                                                                                              
    ...                                                                              
    providers:                                                                                                 
        cache:                                                                                                
              adapter: acme_cache_adapter                                                                     
              provider: google_maps                                                                           
        google_maps:                                                                                           
            locale:     fr_FR                                                                                  
            region:     France
```

`getProvider()` method of `Geocoder` class takes first provider from the registered providers. Since other providers can be loaded in `cache` provider if `cache` provider is configured, it should be loaded before the others.

@see https://github.com/geocoder-php/Geocoder/blob/master/src/Geocoder/Geocoder.php#L196