Memcache wrapper

This is probably the peak of my intellect for today.

It's a nice wrapper for memcache that lets me avoid extreme ugliness.

Normal way of using memcache:

content = memcache.get(key)
if content:
    return content
content = generate_content_dynamically()
memcache.add(key, content)
return content

What is now possible:

return memcache.get(key, generate_content_dynamically)

I don't know if it's faster but it surely looks better.
Use of memcache

Most of the pages that can be cached are now cached, and the code
doesn't look much uglier because of the memcache wrapper.
Added index file for the datastore