Change API to support multiple options

**Old API examples **
```ruby
HttpCache.new()
HttpCache.new(Rails.cache)
HttpCache.new(:mem_cache_store)
HttpCache.new(:mem_cache_store, :logger => :logger)
HttpCache.new(:mem_cache_store, 'localhost:11211')
HttpCache.new(:mem_cache_store, :logger => :logger, :serializer => :serializer)
HttpCache.new(:serializer => :serializer)
HttpCache.new(:file_store, 'tmp')
HttpCache.new(:file_store, {:serializer => :serializer}, 'tmp')
HttpCache.new(:memory_store, :size => 1024)
HttpCache.new(:file_store, {:size => 1024}, 'tmp')
````

** New API example**
```ruby
HttpCache.new(store: my_store, serializer: my_serializer, logger: my_logger, 
              store_options: [option1, option2...])
```