Remove A LOT of code.

* Annotations (everywhere; code, build files, metalexer, ...)
* McFor, and a lot of code only used by McFor
* Dependence analysis
* VarDecl/FunctionDecl/SymbolTable
removed svn-commit.tmp
Reduce build.xml duplication & improve build time

I didn't know about ant macros before; I had halfway eliminated
duplication by defining a common fileset that all the jar targets used.
This (the <union> tag) turns out to be a lot slower; defining the
filesets directly in the macro results in over 2x improvement in build
time.
Quick fix to make Matlab target build
Merge branch 'develop'
update gen For copy semantics for passing arguments to function
McLint builtins not plugins anymore
Remove unused imports / code
Allow callbacks to be registered per message code
Clean up ReachingDefs a little
Move things around; rename natlab.toolkits.analysis.test to natlab.toolkits.analysis.core
Compute ud-du chains from reaching defs
mclint.refactoring now mclint.patterns.rewrite

The little transformations based on the unparsed patterns stuff
can't really be called refactorings.
Remove unused variables (proof of concept)
Run until fixed point, and discard obsolete messages
Naive implementation of rename variable
Make NodeFinder return a lazy iterable.

This removes the need for the transform and filter methods, since
now Iterables.filter and Iterables.transform work just as well
without an extra pass. Since this was really the only value added
by the fancy new API, I've reverted it back to the three public
static methods (de-deprecating them), except that find returns an
Iterable instead of a List. (I've also switched the order of the
parameters to type, node instead of node, type in all three
methods). I also went and fixed all the call sites.
Have javac ant task include debug information.

This will get rid of the (Unknown Source) in stack traces.
Fix AbstractFlowMap.union to use provided merger
Merge branch 'fragile' into develop