Scalatra cache

Opening as a PR to get some eyes for code review. Safe to merge if it's ok, but there will be follow-on code for memoizing functions and wrapping in futures.
can that be made not lazy. Chances are you're gonna use the cache when you instantiate it.