Change API to support multiple options

**Old API examples **
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**
HttpCache.new(store: my_store, serializer: my_serializer, logger:
my_logger, store_options: [option1, option2...])
Fix some typos and improve documentation
Refactor middleware_spec tests
Refactor code to be more descriptive
Update README to document the new api
Rename "parse_deprecated" method to "parse_deprecated_options"
Merge branch 'decouple-options-from-lookup-store-options'