show configurable reports error to user instead of 500ing

Known error when rendering report:
![screen shot 2014-12-09 at 8 36 53 pm](https://cloud.githubusercontent.com/assets/1757035/5377738/d42f53b8-8052-11e4-99b6-9dce11dab172.png)

Arbitrary 500 error (appears in logs):
![screen shot 2014-12-09 at 8 36 09 pm](https://cloud.githubusercontent.com/assets/1757035/5377743/da383de2-8052-11e4-8c00-3f9e4835d739.png)

this seems a little bit odd to me. i would think you would want to wrap a larger section of the function (including the part that gets the data), and trap a smaller number of the exceptions.

We could get arbitrarily complicated, but I think my favorite plan would be to trap things like `ColumnNotFoundException` as close to where they're happening in the configurable reports framework as possible, and then reraise those as a `UserReportsError` that we can trap in the view.

That allows unexpected errors to still bleed through to 500s (which we want)