cache cdb responses less than 1M

for #27, the cache is wired up. basically we're caching cdb responses based on an md5 hash of the request sql. datastore limit is 1M per entry, so we're not caching cdb responses larger than that. we can profile performance and link in google cloud storage for stuff over 1M if needed.