Cope with generic methods during SpEL compilation

This commit allows the SpEL compiler to cope with generic methods
being used in expressions involving numeric operands. Due to the
use of unbound type variables the methods may look like they
return Object but in fact they are returning objects of a numeric
type that are suitable for compilation. The changes here ensure
the runtime types are looked at if the discovered declared types
are not providing enough information. This impacts all the
operands involving numerics (mathematical and relational).

Issue: SPR-12040
Support compilation of the SpEL operator OpModulus

This commit enables the modulus operator to be compiled when
it is used as part of a SpEL expression.

Issue: SPR-12041
Add section on web security

Issue: SPR-6125
Improve documentation for using "." as destination separator

Issue: SPR-12007
Polish
Update Javadoc

Issue: SPR-12028
Work in progress

Issue: SPR-11982