Extract options before creating connection

Calls extract_options! on the addresses arguments before passing the addresses to the ::Redis::Factory.  This fixes #166 so default cache options can now be passed without causing a DistributedStore to be created with both the intended server as well as a spurious localhost connection. 
Added tests in order to support verifying that the ActiveSupport::Cache::RedisStore creates the correct kind of underlying store.