Fix bugs in test script.
Updated tree class to make it clear it is merely a transport wrapper

Now that tree is basically working, it is clear that it does not
actually do anything useful; it exists to work around the fact that
we can't modules can't look up the class methods of the::tree<T>
directly, and that there are overloaded methods that need names
sorting out.  So I've updated forest::tree to forest::tree_wrapper
so that we make it clear that it's not really something to use at
the C++ level, but only for transport between C++ and R.
Tidy up import of tree.hpp
Tweaks to module organisation.

Slowly moving to itree not being the main point of the package, and
simply a test case.
Make tree_of a little more generic
Better node testing via an is_node_type method.