Code to compute the fragment siblings and add them to the dataflow inputs.
added dataflow additions for fragmented drop obligations.

This reestablishes this branch as an appropriate basis for
fsk-needs-drop-analysis-2.
Added state tracking whether a given cfg node is reachable or not.
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.
slight generalization of dataflow in prep for needs-drop analysis.
Added optional printing of drop obligations to flow graph.
Extended `DefBinding` to unify idents in patterns like `A(x) | B(x)`.

Adds `BindingAliasMode` enum and attaches it to `DefBinding, tying an alias to a
uniform representative for the set.  Extends `resolve` to actually construct
such a thing properly.

Leaves the question of what to do about DXR as an unresolved FIXME in
`rustc::middle::save`.
Add Method ids to pretty-print identified output.
Extended move_error to track moves into wildcard patterns as well as idents.
DO NOT CHECK IN: diffs and patches for rust-needsdrop.

updated the expurgated diff.
update needs-drop-expurg.diff
update the expurgated diff.