Promenade from trade by, cross extend (C1), _with designated with >2 arguments.
Add 3-and-1 lines.
Fix matches against asymmetric goals; simplify symmetry test.

This is a partial revert of 18e5cccdcf75e7f3b3271336c1297e09ae8e9e16
and then improvement/refactor.

Sort the goal and input dancers identically in order to prefer in-place
matches where possible.  (This was leading to issues with the test in
the "at home" call.)  Don't use position flags in the sort order!

Simplify the symmetry test, and ensure that the entire formation is in
fact symmetric for a given rotation before ruling out matches.  This also
fixes matches against asymmetric goals.
Ah so.