Refactor Transaction to not rethrow errors

Rethrowing errors makes debugging harder. In conjunction with #967, this makes it so that an exception in a render method can be caught using the purple stop sign (or the blue one, of course) in Chrome.

![image](https://f.cloud.github.com/assets/6820/2005446/1bc57918-86e5-11e3-8f1f-423a6e2ad8b5.png)