Documentation driven design
Add `lookup_fallback` configuration attr
Add `ExecutionStrategy` to Query; Select an execution strategy for a query and ask it to execute the lookup
Add a basic `SimpleExecutionStrategy` which just passes the query to the lookup. Simples.
Add a `FallbackExecutionStrategy` that will attempt one lookup and then fall back to the other lookup configured if an error occurs
Tidy up error raising bits and test various configurations, `:always_raise` and `:lookup_fallback` combinations.
Add some more lookup_fallback txt on README
Tidy up execution strategy creation inside Query
Remove duplicate lines
Set gem version and add updates to CHANGELOG
Replace mock usage with Geocoder test instances where possible; Try and follow current gem convention of using test objects instead of mocks, dont beleive this is possible in the remaining 'fallback_execution_strategy' tests as we need to raise different errors per query to test fallback mechanism
Merge 'add_lookup_fallback' into 'master'