Error reflection

Removes the ability to reflect "plumbing" error messages, such as `At` and `Elaborating`. The compiler now does the right thing with regards to these - reflecting on their contents and re-wrapping the result.

Additionally, pretty-printing of reflection errors has been improved and reversible evaluation in errors is now respected during reflection.