Fix MultiGetList results from cache

getByKey will try to load data from cache first, then from DB.
After loading from DB, data will be cached, so next time it can read from cache.

Both DB loadCallback functions (TreeRepository::fetchSubtreeNodeListFromDb
and TreeRepository::fetchParentMapFromDb) return an array with hex keys.
This result is subsequently written to cache. When read from cache,
MultiGetList::getByKey would create an array with binary keys.

Workaround: instead of using UUID::getBinary as array keys, also use getHex,
to match both loadCallback methods.

Change-Id: I0c1dadf9f9d5b2ede5012623d7087d2f62fca86f