Remove ASTVisitor and AnalysisVisitor.

These were used by McFor I think, but are not useful anymore.
Deprecate McSAF collections.

This is related to #8. The next step is to rewrite some important
analyses (e.g. reaching defs) using java.util collections to see
what's missing.
Use Map instead of HashMapFlowMap in ReachingDefs

The union / merge functionality of AbstractFlowMap was added
as a few utility methods in a new MergeUtil class.

(n.b. need to look at the contract for merge() in analyses, because
it's very error prone -- the input and output sets can be the same,
so you need to consider a bunch of cases (both inputs and output
same, all different, one input is same as output, etc.). It would
probably be better if you just returned a new set instead of using
an output parameter, but maybe this was done to have fewer memory
allocations?)
Use Set instead of HashSetFlowSet in defasn.
Use Set instead of HashSetFlowSet in NameCollector
Use Set instead of HashSetFlowSet in Liveness
Use Map instead of HashMapFlowMap in CopyAnalysis
Remove duplicate NameCollector.

Not sure what happened there, but this one isn't used.