Remove unused function "swap_edge_dir" from OGRAPH
Use unchecked modifier functions internally in bang_graph

Otherwise we end up unnecessarily re-checking things when doing
larger-scale manipulations.  Also allows us to be cavalier about the
order we do things in (in copy_bbox, for example).
Fix copy_bbox/expand_bbox when !-box has parents or children

When we copy a !-box, we have to add the right vertices to it before
adding the child !-boxes, otherwise an exception is raised.

Also, neither copy_bbox nor expand_bbox formerly dealt with parents at
all.
Allow !-box copies to be recorded

Adds bbox_copy to BANG_GRAPH, and extends the bbox_op datatype
appropriately.
Start implementing matching onto !-graphs

Still missing a bare wire matching step that respects !-box containment
and the actual !-box matching subroutine.
Leave sorting U into its various parts to the InnerMatchState
Improve docs of MatchState.extend_u
Remove commented code
Only reshedule the elements of p that need to be

We schedule partially-matched nvs adjacent to just-killed !-boxes in
kill_pat_bbox.
Get bare-wire matching to respect !-box containment
Implement the !-box matching subroutine

Currently untested.
Improve matching test infrastructure

This way has more flexibility (both for new match types and new
matchers).
Add some tests for the greedy matcher, and fix some issues

Matching onto nested !-boxes doesn't work currently.
Improve debug output for greedy matcher
Add a hooks structure to the progressive match search
Implement use of vertex_match_is_allowed
Fix !-box matching

All the tests written so far pass...
Remove unused functions
Remove tgt_pool from match state
Merge branch 'integration' into bg-matching