Changes error handling from a view decorator to middleware

As a result, only instances or children of RenderableError are caught by the middleware.  This is different from the previous behavior, which caught and rendered all errors.
I think `assertRaisesSpecific` is a bit overkill here and below.  Why not just use the built-in `assertRaises`?