Test setup for JDK8 support.

Only Oracle provides builds for JDK8 atm, and there is no OpenJDK
build, so the setup is slightly different. Files have to be copied
manually from an installed JDK. For comparison purposes, an Oracle JDK7
option has been added too. This should be removed before merging to master.
Added switch to CommentsCatcher. Assumption, until proven otherwise is
that JDK8 behaves similar to JDK7.
Compiler options can now be specified for JDK 8 or JDK 6/7 or lower.

After this was finalized I realize that we might consider moving entirely
to String based options, instead of inferring the options from the
provided enum. This setup does have the benefit of throwing exceptions when
options are not present.
Refactored out references to TypeTags.

Instead they are retrieved
dynamically, with a pinch of caching during runtime. We already had some
fixes to make sure that compile time constanst were not inlined, but we
need to take into account that a lot of the Integer-based enums have
been replaced with actual enums.

Also, certain TreeMaker methods needed to be invoked dynamically with
reflection.

This needs to be reviewed, and if it turns out that these changes are too
dramatic, we should fork out a larger part of our code for specific JVM
versions.
Fixed small typo
Some small fixes for Java 7
Type fixes for JDK7
Merge branch 'master' into jdk8. Also added some major fixes whilst merging.

Conflicts:
	src/core/lombok/javac/handlers/JavacHandlerUtil.java
	src/utils/lombok/javac/CommentCatcher.java
	src/utils/lombok/javac/Javac.java
A source file with just @Getter in it now compiles in javac8, but there is still a looooong way to go.
experiment: Can we wrap TreeMaker and remove a heck of a lot of opportunity to program handlers that are not cross javac6-8 compatible?
more progress. This one is less JDK8 compatible, but
it has major refactorings to make JDK6-8 support
possibly with much prettier code.
Some work on actually making lombok work on JDK8's javac.
To quote Reinier paraphrasing the compiler: "If the loading doesn't work, I don't want it!"
added Flags.PARAMETER to all the parameters we generate in javac.
position now set for all code generated by javac handlers;
this also solves the AssertionError in the Bits class on javac8-ea.
Merge branch 'jdk8support' of github.com:rzwitserloot/lombok into jdk8support
replaced double underscore as new standard way of writing the dummy annotation for onX instead of single underscore, which emits warnings on javac8+.

Also made dollars and Xes legal in addition to underscores, in case double underscore disappears later too.
Merge branch 'jdk8support' of github.com:rzwitserloot/lombok into jdk8support
Getting the java8 compiler remember the comments
Only look at the line number for errors and warnings.