Nicer rendering for trees

* use unicode box-drawing glyphs
* handle newlines in node labels somewhat intelligently
* one line per node

Example:
```
[error]       │  └─ MapReduceTask
[error]       │     ├─ ReadTask(zips2)
[error]       │     ├─ JavaScript(function () {
[error]       │     │      emit(this._id, {
[error]       │     │        "left": [],
[error]       │     │        "right": [this]
[error]       │     │      });
[error]       │     │    })
```