Scalatra cache

Re-opening with updated code. Many thanks to @rossabaker and @casualjim for holding my hand thru this!
It's too inconvenient that we cannot put cache values with ttl. 
I think `org.scalara.cache.Cache` API design should not suit the convenience of Guava cache implementation.