Add AR scope :within_bounding_box
Fix: handle nil values in :within_bounding_box
Configurations changed to provide a DSL (similar to Rails) to configure Geocoder. A singleton pattern was used to allow the code *Geocoder.configure { |config| ... }*, and delegation was used to maintain compatibility. New configuration options (units and method) for calculations were implemented, with default value: km and spherical, respectively.
Reimplemented +set_defaults+, all tests are well succeded
New configuration tests addedd
Improviments in configuration DSL (no argument for block configuration needed).
Models chenged to use the configurations for units and method. Some tests included.
Some tests with model configuration included.
Tests to the configuration chain included.
Creating a config generator for Geocoder.
Including some requires
Making generators work by solving the lookup path...
Removing some dirty debugging strings...
Merge remote-tracking branch 'upstream/master'
Execute block even if no geocoding results.

This has always been the intended behavior (as shown by the README's
sample code which begins `if results.first`) but it wasn't implemented
properly. Thanks to github.com/nhippenmeyer for pointing it out.
Move actual key expiration to separate method.
Expire removes key instead of just clearing value.
Clarify method description.

In Redis "expiration" doesn't mean deleting the key.
Merge branch 'master' of github.com:alexreisner/geocoder
Edited lib/geocoder/lookups/geocoder_ca.rb via GitHub