Restored Java 5 compatibility through avoiding Collections.newSetFromMap

Issue: SPR-11313
Fixed getTypeDifferenceWeight algorithm in ReflectionHelper, and deprecated ArgsMatchKind enum (for removal in 4.0)

Issue: SPR-11306
Polishing
Clarified ArgsMatchKind deprecation
Removed Commons Lang references and refined Java 5+ implementation details
Introduced "spring.getenv.ignore" system property for preventing System.getenv calls

Issue: SPR-11297
(cherry picked from commit 961f42b)
Polishing
(cherry picked from commit e670f4e)
Introduced "globalInitializerClasses" next to the existing "contextInitializerClasses", applying to FrameworkServlets as well

Issue: SPR-11314
(cherry picked from commit 91881ff)
Polishing
checkNotModified needs to consider HEAD as well

Issue: SPR-11317
(cherry picked from commit 17cc63e)