When printing ClientDsRequest, show search strings as JSON
Better handling of get() / getMany() for items that don't exist.

Basically if an ID doesn't exist, it resolves the promise as null.
It then removes itself from the cache, so the next access is attempted again.