Added geonames & yahoo as a new providers for reverse geocoding + tests

This can be very useful when you want to change APIs quickly if you just hit Google's free usage limits.