New testing style for !-graphs

Matches ograph test style more closely; tests are more independent, and
easier to check for full coverage.

Tests still incomplete, including commented-out tests that are known to
fail.
Update to new way of adding child !-boxes in testing code
Fix remove_from_all_bboxes

Previous code did not check for openness (unlike remove_from_bbox).
Fix kill_bbox

Previous version could throw an exception if the !-box had children that
were also grandchildren.
Fix remove_from_bbox

Previously, it would allow you to remove vertices that were contained in
a child !-box.  It now raises an exception.
Fix add_to_bbox

Previously, it allowed adding vertices that were not in a parent !-box.
Now raises an exception in this case.
Fix and create tests for add_child(ren)_to_bbox

Now preserves transitivity, and raises an exception if it would break
anti-symmetry or the subgraph requirement.
Add remove_child_from_bbox and clear_bbox_children to !-graph signature
Fix and create tests for remove_child_from_bbox and clear_bbox_children

remove_child_from_bbox now preserves transitivity (and hence is
sometimes a no-op).