Treesource

This branch implements fine-grained access to parts of a nexson object. See docs/README.md