Adding back all improvements/fixes made externally since 2012/09.

Some of those do break compatibility (Expression vs Script in particular, NaN as literal, logging is log4j); since 3.0 has never been released and the code has not been modified in the past 14 months, no-one should argue  (or then should contribute :-)).

From the changes.xml:
Fixed issue in edge case method resolution wrt overload and varargs;
Switch logging to log4j 1.2;
Empty array property setting fails Fixes JEXL-144. Thanks to Woonsang Ko.	;
Map expression issue with empty key Fixes JEXL-142. Thanks to Juozas Baliuks.;
Suffix for Big Decimal and Big Integer Literal is incorrectly mentioned in Java docs Fixes JEXL-141. Thanks to Harpreet Singh.;
Invalid script variable list for nested array/map access Fixes JEXL-137;
Fixed Engine.getVariables that was erroneously considering method calls as variable usage;
Fixed issue in ternary expression (grammar was not precise enough to differentiate namespace:function calls vs ternary right hand side);
NaN is now a keyword equivalent to #NaN (deprecated): POTENTIAL SCRIPT BREAK;
Syntactically enforce that expressions do not contain statements: POTENTIAL EXPRESSION BREAK (ie an expression is not a script and can NOT use 'if','for'... and blocks);
Added syntactic shortcut to create parametric scripts (script source creates an anonymous function);
Segregated JexlScript and JexlExpression further to avoid calling JexlExpression.evaluate on JexlScript (instead of JexlScript.execute) which had the unexpected property of only evaluating the first statement;
Fix an edge case of ambiguous method matching (see http://apache-commons.680414.n4.nabble.com/jexl-mathod-within-namespace-not-found-if-parameter-is-int-tt4637888.html);
Fix issue wrt isEmpty and method varargs (assignable types vs equal types) (see http://apache-commons.680414.n4.nabble.com/jexl-empty-function-crashes-if-called-with-int-tt4637895.html)


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/jexl/trunk@1545274 13f79535-47bb-0310-9956-ffa450edef68