Node JSON and XML full-rewrite file DAOs

This also expands `XMLUtil` so that:

- `XMLUtil.parse` and friends actually work.
- `XMLUtil.compact` outputs XML, not broken JSON.

@kgrgreer for review.
Closes #223.