Selectors on $reserved elements

. E.g. `(:: .something)[x]` or  `(::parent .something)[x]`

This is a work in progress to show off intermediate progress. I'd like more tests!

It adds a root.spawn() hook that is called whenever spawn is called in  _get$. If $reserved element has optional 2nd subselector argument, it spawns a new query observer, independent of $reserved query. It recursively calls .spawn() for all found nodes to combine a list of commands.

Todo: 
- Destroy subqueries
- Add tests for nesting (::pseudo selector) into a rule with multiple selectors.
- Add tests for (::scope selector)

Gotchas:
- I had to bump margin_of_error because of new async test in command-nested-rules. It cleans it up, but not when the test is running.