Bugfix - Abort code HTTP error inconsistency

Finally fixing this long-standing issue, then cleaning some others up so I can tag 2.1! Woot!!!

Anyway, this PR fixes #187 by making sure that the `abort()` method actually ends up calling the new HTTP error handlers. I realized I had a very strange way of handling exceptions in the `dispatch()` method after writing the test for the desired behavior (yay tests!), so the byproduct of this fix was to fix the dispatch method exception handling. :+1: 

This PR should excite those that discussed in #197 too. :wink: