Shared cache

needs review, and some more package discussion, but it is very functional and would like to merge sooner than later.
If the error handler kicks in below, will the exception response be cached?