Add native node references in the ECJ tree

The AST Nodes have a nativeNode field which can point back to a
corresponding object in the original parse tree the Lombok AST
was constructed from. This changeset sets these fields for parse
trees constructed by ECJ.
Update from a custom ECJ 3.6.2 to standard ECJ 4.2.2

This CL updates the ECJ transformer to use ECJ 4.2.2 instead of
ECJ 3.6.2; there were some API changes and new visitor methods to
implement.

Note that this does not change the AST API to handle Java 7 language
features, but it allows a more recent ECJ to be used to compile
Java 6 language code (and there are many compiler bugs fixed in more
recent versions of the compiler.)
Update Guava from r09 to Guava 15.0
Package Lombok.AST for Android Lint

This changeset makes some packaging changes to Lombok AST
suitable for its usage in Android Lint:
- Don't bundle a private copy of Guava. Guava is already an
  existing dependency in all the Android development tools
  so make Lombok.AST just use the shared one.
- Don't bundle the Parboiled parser. We used to use it as
  the Java parser for command line lint, but in addition to
  being extremely slow it was discovered to have a number
  of critical bugs (e.g. Lombok issues 573, 311, 313, 415.)
  We therefore switched to using ECJ instead.
- Don't bundle the cmdreader library, which only seems to be
  used by the test driver app
- Set the version number to 0.2.2 from 0.2.1 to distinguish
  this binary from the earlier version.
Update Guava from 15.0 to 17.0
Update from ECJ 4.2.2 to ECJ 4.4
Update Lombok.AST version to 0.2.3

With the recent ECJ version change we need to release a
new version of this library for use by Lint so set the
version number to 0.2.3.