[utils] Fixes compatiblity of QueryCache with expected dict interface
QueryCache is expected to mimick the interface of the dict built-in. The current
__iter__ implementation breaks this expectation by iterating over key, value
pairs instead of only the keys.
This changeset fixes this issue by changing the __iter__ implementation to
iterate over the keys in the cache and providing an implementation of the items
method with a contract identical to the dict build-in (return a copy of the key-
value pairs within the dictionary as a list).
### Requirements for tests in various cubicweb/**/test directories. ###
## shared by several test folders
cubicweb-card == 0.5.8
docutils
Twisted < 16.0.0
webtest
## cubicweb/test
Pygments
mock
#fyzz XXX pip install fails
cubicweb-file == 1.18.0
cubicweb-localperms == 0.3.2
cubicweb-tag == 1.8.3
## cubicweb/devtools/test
flake8
## cubicweb/hooks/test
psycopg2
## cubicweb/pyramid/test
pyramid >= 1.5.0
waitress >= 0.8.9
wsgicors >= 0.3
pyramid_multiauth
## cubicweb/sobject/test
cubicweb-comment == 1.12.2