Major code cleanup. Added AnalysisEngine and all analysis use AST.Name instead of String
helper fixed
fix a bug in shape analysis
Introduce RefactoringContext.

Refactorings should be aware not just of the AST they're operating on,
but also some extra context (for now the MatlabProgram they're operating
on, and the Project it belongs to).

This is a fairly big change, and some of it is iffy just to make things
build. In particular,

* ExtractFunction needs to be looked at, in particular
  checkPreconditions()
* One RenameVariableTest regarding global variables was commented out,
  and will be fixed soon
Major refactoring to introduce Transformation and Analysis engine
Fix failing RenameVariable test.
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.
add static array bound check in shape analysis
most important functions are arraySubsasgn and arraySubsref in
ShapePropagator. added detailed comments in the code.
Created tamerplus package under tame and separated classes into analysis and transformations. Added a debug mode for all the analysis
Merge branch 'develop' of github.com:Sable/mclab into develop
Deleted old tamer plus package
Change McSAF merge and copy signature.

Fix callers and implementations.
Fix Tamer+ code to implement new merge and copy

Also use Map instead of HashMapFlowMap in ReachingDefinitions