Better test coverage for the tree +

1) Took a step back and re-thought tree testing. Made improvements and filled in test coverage gaps.
2) Made a small change to the tree itself, allowing options to return as an empty object rather than undefined on initial tree load. Let me know what you think about that