added a filter to handle errors

now you can just throw a UniferException, and the filter will take care
of the response
using the new exception handling for users & apps

this is a lot cleaner, and makes everything *way* more DRY :)