Fixed some issues with virgilio-cache.

- Support `cache.set` to set a cache with a user-defined key.
- JSON.stringify and JSON.parse cache input and output, to allow easy
  storage of complex objects. However, this makes it arguably more cumbersome to
  store for instance images in the cache. Some thought needed.