Find trees

Support the XPath `doc(...)` function and use it to locate trees outside of the application tree. This provides access to the `clients.vwf` client container or any other global tree.

@eric79, @allisoncorey, please review. @scottnc27603, @jessmartin, fyi.

No, we need to return `undefined` if we didn't get all the way to the top.

In the application context (when `initializedOnly` is set), the root shouldn't be visible if it or one of the node's other ancestors haven't completed initialization. The cousins are in an indeterminate state in that case.

I added comments to clarify what's happening, and the jsdoc comments in `api/kernel` try to explain it.