Alter behavior of read_multi to match ActiveSupport::Cache::Store

### Summary

In the base implementation of `ActiveSupport::Cache::Store` (and all other implementing stores), an array of strings passed as argument to `read_multi` is treated as a single key. In `DalliStore`, it is treated as several keys. This alters the spec and implementation of `DalliStore#read_multi` to match `ActiveSupport::Cache::Store`.

### Motivating Example

```ruby
file_store = ActiveSupport::Cache::FileStore.new("demo")
file_store.write("foo", 1)
file_store.write("bar", 2)
file_store.write(["foo", "bar"], 3)
file_store.read_multi(["foo", "bar"])
# => {["foo", "bar"]=>3}

dalli_store = ActiveSupport::Cache::DalliStore.new
dalli_store.write("foo", 1)
dalli_store.write("bar", 2)
dalli_store.write(["foo", "bar"], 3)
dalli_store.read_multi(["foo", "bar"])
# => {"foo"=>1, "bar"=>2}

```