add app.error(fn). Closes #4