Customizable exception handler

Please take a look.

I did not touch docs yet. Also, in Python 3 there is some weird test failure caused by catch_warnings()

Main ideas:

1. Depreciate returning Response with status_code >= 400. Exception should be raised instead;
2. Make exception handler customizable via settings