Test suite: Getting rid of the "class" XML attribute; we don't use it anymore. Updated JUnit dependency.
(Set Eclipse indent to 4)
(Upgraded JUnit dependency to 4.11)
(Minor version history fixes.)
Reworked how overloaded methods treat numbers with BeansWrapper(2.3.21). Along the way, some other aspects of overloaded method had to be changed as well. For more, see the changes of book.xml. But in short, overloaded method calls are now much less prone to drop decimals or truncate numbers, while they are also more lenient (like double 1.0 is seen applicable to an int parameter). Again, this all only have an effect with BeansWrapper(2.3.21).
More null-related overloaded method tests.
Added tests for ArgumentTypes.isApplicable
Made primitive-VS-boxed differences less important than subclassing and number-conversion differences when counting which overload has more "preferable" parameters. Now they only cound if there's no other kind of difference, like m(Integer, Integer, String) wins over m(int, int, Object).
Fixed bug with method argument unwrapping to a primitive "hint" type, where AdapterTemplateModel and WrapperTemplateModel had to unwrap to a primitive value, which is impossible as their return value is Object. Only active with BeansWrapper(new Version(2, 3, 21))!
(Minor version history fixes.)
Documented and tested a varargs bug that BeansWrapper(2.3.21) has fixed: With overloaded varargs methods of different parameter counts, sometimes the last parameters of the compared methods was ignored, which is taking away a potential deciding factor and thus can lead to ambiguity error. Whether this happened depends on the order in which the Java reflection API has returned the methods, which is undocumented and known to change at least after some Java updates, breaking the application.
Merge branch '2.3-gae' into 2.3-gae-tools