Add timeout argument to geocoder.geocode method.

Sometimes services can be too slow to respond (or unavailable). This adds ability to stop connections after a given timeout and move to the backup geocoder.