Assert context uniqueness against merged config

Prior to this commit, the uniqueness check for @ContextConfiguration
attributes within a @ContextHierarchy was performed at a single test
class level instead of against the merged configuration for all test
class levels in the test class hierarchy.

This commit addresses this issue by moving the uniqueness check
algorithm from resolveContextHierarchyAttributes() to
buildContextHierarchyMap() within ContextLoaderUtils.

Issue: SPR-11011
Backport-Commit: 7658d856cac027ae367f04833bee6c43c62b5534
Removed accidentally added temporary files
ExpressionState.getConfiguration() should never return null

Issue: SPR-11031
(cherry picked from commit 4aab315)
Made processCommonDefinitionAnnotations(AnnotatedBeanDefinition) public

Issue: SPR-11032
(cherry picked from commit 8bd4804)
Cache InjectionMetadata per bean name instead of per Class, if possible

Issue: SPR-11027
(cherry picked from commit 4675bc4)
Factory method type resolution works with indexed and named arguments as well

Issue: SPR-11019
(cherry picked from commit 109faac)
Fixed detection of setter in case of getter with covariant return type narrowing

Issue: SPR-10995
Polishing
Minor optimizations in factory method handling

Optimized getTypeForFactoryMethod's implementation for non-generic factory methods, and reduced calls to getResolvedFactoryMethod in order to avoid repeated synchronization. Derived from work around SPR-11034.
Fixed source location of setEncoding method
Fixed resolveReturnTypeForFactoryMethod to unwrap TypedStringValue

XML-defined arguments values are initially turned into TypedStringValue wrappers. If we encounter an unresolved argument, we need to unwrap such a TypedStringValue and then try to treat its content as a class name.

Issue: SPR-11034
Polishing
Defensive handling of exceptions during factory method type checking

Also using ClassUtils.forName in AutowireUtils now in order to accept all common class name formats.

Issue: SPR-11034
(cherry picked from commit 8c1767e)
Avoid filling up AntPathMatcher cache

This change avoid use of AntPathMatcher to extract URI template
variables when the lookup path is used as the best matching pattern.

Issue: SPR-10803
Consistent ordering for @PropertySource locations

Ensure that property source locations are processed in the same order
regardless if the 'name' attribute is set or not.

Prior to this commit multiple locations from a `@PropertySource` with
a name were added to a `CompositePropertySource` in such a way that
the first location would take precedence. This has now been reversed
for consistence with unnamed `@PropertySource`s

Issue: SPR-10820
(cherry picked from commit e3d3d8cd)
Multicaster support for events with null source

Update `AbstractApplicationEventMulticaster` to support `EventObjects`
with a null source (which can happen if they have been serialized).

Issue: SPR-10945
(cherry picked from commit b0ff834e)
Add targetIsClass to SpEL property cache key

Update the `CacheKey` class used by `ReflectivePropertyAccessor` to
include if the target object is class. The prevents an incorrect cache
hit from being returned when a property with the same name is read on
both an object and its class. For example:

	#{class.name}
	#{name}

Issue: SPR-10486
(cherry picked from commit 6d882b14)
Skip convert to Object from TypeConverterDelegate

Update TypeConverterDelegate to bypass conversion when the target type
is Object.class. Prior to this commit converting a single element array
to an Object would result in the element being returned, rather than
the array itself.

Issue: SPR-10996
(cherry picked from commit c9aace4d)
Relax JavaBean rules for SpEL property access

Relax the method search algorithm used by `ReflectivePropertyAccessor`
to include methods of the form `getXY()` for properties of the form
`xy`.

Although the JavaBean specification indicates that a property `xy`
should use the accessors `getxY()` and `setxY()`, in practice many
developers choose to have an uppercase first character. The
`ReflectivePropertyAccessor` will now consider these style methods if
the traditional conventions fail to find a match.

Issue: SPR-10716
(cherry picked from commit b25e91a5)
Refined logging for advisors which are currently in creation

Issue: SPR-10430
(cherry picked from commit 62157fe)