Added check for /usr/libexec/java_home

This is the preferred way of choosing a JVM on OS X

http://developer.apple.com/library/mac/#qa/qa1170/_index.html
GROOVY-5767: Improve DSL type checking
   * wrap type checking context in a single class
   * move inner classes to upper level
   * remove support for TypeCheckerPlugin from StaticTypeCheckingVisitor (tbd: remove the plugin class too)
GROOVY-5767: Improve DSL type checking
   * make methods protected so that subclasses may override behaviour more easily
   * add methods to easily provide property/attribute resolvers
GROOVY-5767: Improve DSL type checking
   * more refactoring: use only one return adder which is used for both closures and methods
   * make type checking context aware of an enclosing closure stack
   * make type checking context aware of an enclosing method stack
   * make type checking context aware of a binary expression stack
   * temporarily replace plugin with an error handler
GROOVY-5767: Improve DSL type checking
   * make use of a class node stack too
   * minor refactoring of assignment tracking
Merge remote-tracking branch 'remotes/upstream/master' into stc-refactor

Conflicts:
	src/main/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
GROOVY-5767: Remove closure stack from error message
GROOVY-5767: Add a method call expression stack
GROOVY-5767: Add some methods to the extension API
GROOVY-5767: Add a DSL prototype for custom type checking
Make TupleExpression implement Iterable<Expression>
GROOVY-5767: Type checking DSL improvements
    * delegate more methods to type checking visitor
    * add a withTypeChecker method
    * remove the "active" stack (should probably be handled on a per-extension basis)
GROOVY-5767: Type checking DSL improvements
    * add is*Expression methods, equivalent to writing if (expr instanceof FooExpression)
GROOVY-5767: Make ConstructorCallExpression implement MethodCall and make constructor calls interceptable by custom type checker
GROOVY-5780: GStrings converted to array of chars when method call uses vargs
GROOVY-5798: Static type checker doesn't allow casting a number to a char
GROOVY-5743: Method calls on closures are not checked properly if the closure is a parameter
GROOVY-5797: CompileStatic bugs when a property expression is used as the key of a map array get
GROOVY-5758: Assignment to a String is not allowed if the RHS is a list

Conflicts:

	src/main/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
GROOVY-5791, GROOVY-5789: Missing path for primitive increments/decrement