Return a hash rather than array from fetch_multi

The current implementation of `fetch_multi` returns an array and has no
means to easily backtrack which names yielded which results. By changing
the return value to a Hash we retain the name information. Hash#values
can be used on the response if only the values are needed.
Merge pull request #11481 from sorentwo/fetch-multi-hash

Cache#fetch_multi returns a Hash instead of an Array