Add critic.Storage.list() method

Lets an extension list all keys in its extension storage.
Add critic.Storage.has() method

Allows for a more efficient way to check if a certain key exists in
the storage, in particular if the stored value is large (in which case
calling critic.Storage.get() is expensive.)