rust-needsdrop: Checkpoint, implmented variant recognition in euv through move_data.

Added `matched_pat` method to ExprUseVisitor.

Treat a variant match as *removing* the drop obligation for the enum
value that was matched, and *adding* the drop obligation for the
variant itself.
revised control-flow-graph to indicate that we flow into heads of patterns
before their subpatterns.

This makes sense when you think about the flow of how one checks if
patterns match.  Patterns are matched from top-down (while
value-producing expressions are built from the bottom up).

It also solves a problem for the dataflow of needsdrop.
rust-needsdrop: checkpoint, very fun.  Got plausible looking dataflow for foo11.rs.
rust-needsdrop: Added prepass of all match arms to categorize match as move/borrow/copy.

At one point I was also trying to regather local information about the
individual pattern, and I may need to put that back in in some form.

But for now this yields nice looking results.
rust-needsdrop: add ability to query needs-drop for a particular enum variant.
more play tests in rootdir.