fixes + node delete support

Fixed bug in node insertion. Parent nodes should now be properly offset
beyond the first parent.

Fixed a bug when retrieving the virtual root while the system has no
nodes. When retrieving the root in a system with no nodes the vroot will
be null and the requesting code is responsible for properly handling the
case in question. This has fixed another bug with insertion.

Deleting nodes is now supported. Deleting a node will delete it's siblings
as well.

Some additional formatting and general cleanup has been performed.