Matching: when extending wires, avoid vertex names in the pattern

We can't touch the names of boundary vertices in the rule when we merge
in the RHS.  We get around this by renaming the target away from the
rule boundary before matching.  However, matching can introduce new
vertices when there are bare wires in the pattern.  Previously, it was
possible for these new vertices to have the same names as one of the
rule boundary vertices.  This commit prevents that.

fixes #108