Add package::empty() function.

Not the most important function, but useful and easy to support.
Add package::root() function.

This returns an iterator that will allow manipulating nodes at the root of
the tree, which do not have a parent.
Add package::begin/end() functions.

These will iterate over the entire tree, depth first.
Add package::push_back() and test accessing that value.