Fix exception handling for filters

Attempt to fix https://github.com/sinatra/sinatra/issues/673. I tested this with padrino edge (against sinatra 1.4) and after another tweak there all the tests pass on both projects.

Let me know if you have any feedback. The fix here seems simple but I wasn't sure if there was any reason not to fix it this way.