Allow non-String args in JOptCommandLinePropertySource

Prior to this commit, JOptCommandLinePropertySource prevented the
possibility of non-String option arguments. This effectively prevents
the use of JOpt's #ofType support (which allows specifying custom
argument types).

Now, non-String arguments are detected and converted to strings as
necessary. JOpt's #ofType now works as expected. A test has been added
to cover this case.
Use https for maven repositories
Fix user destination parsing in simp messaging

This commit fixes the parsing of message destinations such as
"/user/anna/queue/foo", reverting a regression introduced by SPR-11506,
which worked well with @SendToUser use cases but caused issues for
messages sent to other users.

Issue: SPR-12444
BeanMethodInterceptor forwards user-provided arguments to getBean(name, args)

Issue: SPR-12443
GroovyBeanDefinitionReader consistently throws BeanDefinitionParsingException for invalid files of any name

Issue: SPR-12435
MutablePropertySources uses an internal CopyOnWriteArrayList for defensiveness against concurrent modifications

Issue: SPR-12428
MethodParameter generally uses volatile variables where applicable now (as well as a local copy of the parameterNameDiscoverer field)

Issue: SPR-12453
Unit test for JavaBeans introspection against FreeMarker Configuration class

Issue: SPR-12448
RequestMappingHandlerAdapter allows for overriding handleInternal

Issue: SPR-12460
Rearranged WebAsyncTask constructor interdependencies and assertions

Issue: SPR-12457
Polishing
AnnotationBeanPostProcessors defensively catch and translate NoClassDefFoundErrors from class introspection

Issue: SPR-12461
Latest dependency updates (AspectJ 1.8.4, Gson 2.3.1)
Polishing
Consistent Map<String, ?> declarations and use of LinkedHashMap for incoming JDBC operation parameters

Issue: SPR-12462
Fix location checks for servlet 3 resources

SPR-12354 applied new checks to make sure that served static resources
are under authorized locations.

Prior to this change, serving static resources from Servlet 3 locations
such as "/webjars/" would not work since those locations can be within
one of the JARs on path. In that case, the checkLocation method would
return false and disallow serving that static resource.

This change fixes this issue by making sure to call the
`ServletContextResource.getPath()` method for servlet context resources.

Note that there's a known workaround for this issue, which is using a
classpath scheme as location, such as:
"classpath:/META-INF/resources/webjars/" instead of "/webjars".

Issue: SPR-12432