Errors started in App don't get rethrown with AppTester

`AppTester`'s interaction tasks catch unhandled sandbox errors and rethrow them. However, when we create states, we catch errors, log them, and create an error state instead. This means that `AppTester` won't rethrow these errors in tests.

This might go away once we have a plan for how to handle sandbox errors (there was talk of always sending error responses back for unhandled errors, although we weren't sure what happens for reply errors). Since that might take a while, a short-term alternative would be to emit error events from `App`s when we catch errors while creating states,