add caching via memcached (if available); fixes #80