Move the linearly-updated flag state into the Visitor.
Fold type_use.rs Context into its Visitor.
Fold context into TransItemVisitor.
Fold context into CalleeTranslationVisitor.
Move unchanging portions of context over to the Visitor.
Move unchanging portions of Context over to the Visitor.
Fold KindAnalysisVisitor into the Context.  Removed unused current_item state.
Fold ErrorCheckVisitor into Liveness.  Removed some @allocation.
Fold env into CheckItemRecursionVisitor.
auto merge of #9492 : pnkfelix/rust/fsk-syntax-visit-refactor-remainder, r=huonw

r? anyone

Part of #7081.

Removed many unnecessary context arguments, turning them into visitors.  Removed some @allocation.

If this lands, then I think the only thing left that is unaddressed are:
 * the various lint visitors, and
 * middle/privacy.rs, which has `impl<'self> Visitor<&'self method_map> for PrivacyVisitor`