Backport "Support XML properties in ResourcePropertySource"

JDK 5 introduced an XML-based properties file syntax. This commit
ensures that when such files are supplied as the underlying resource
for a ResourcePropertySource instance, they are routed appropriately
to Properties#loadFromXML as opposed to Properties#load.

Issue: SPR-9896
Backport-Commit: 3a626f93197d7f0fd4266d9877550a8d330017e5
Backport "Polish Javadoc for @Import"

Issue: SPR-9925
Backport-Commit: e6c4840356a9e92661e84178db3de554600ca6c8
Conflicts:
	spring-context/src/main/java/org/springframework/context/annotation/Import.java
Backport "Prevent duplicate @Import processing"

Refactor ConfigurationClassParser to recursively find values from
all @Import annotations, combining them into a single unique set.

This change prevents ImportBeanDefinitionRegistrars from being
invoked twice.

Issue: SPR-9925
Backport-Commit: 6d8b37d8bbce8c6e6cb4890291469c80742132f7
Conflicts:
	spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java
Backport "Ensure @Imports are processed in correct order"

Issue: SPR-9925
Backport-Commit: 3416e058a01d80d22c52c8c6fb720454be4c4290
Conflicts:
	spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java
Backport "Polish @Imports search code"

Issue: SPR-9925
Backport-Commit: 4cdf46f83c775c5101bc664c819fd5c0bb0682f7
Conflicts:
	spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java
Merge branch 'backport-SPR-9925' into 3.1.x

* backport-SPR-9925:
  Backport "Polish @Imports search code"
  Backport "Ensure @Imports are processed in correct order"
  Backport "Prevent duplicate @Import processing"
  Backport "Polish Javadoc for @Import"
Backport "Remove xsd versions from reference samples"

Issue: SPR-10010
MockHttpServletRequest's getParameter(Values) returns null for null parameter name

Issue: SPR-10192
MockHttpServletResponse's getHeaderNames declares Collection instead of Set for Servlet 3.0 compatibility

Issue: SPR-9885
EntityManagerFactoryUtils finds default EntityManagerFactory in parent contexts as well

Also introduces consistent use of getBean(Class) for similar use cases across the framework, accepting a locally unique target bean even if further matching beans would be available in parent contexts (in contrast to BeanFactoryUtils.beanOfType's behavior).

Issue: SPR-10160
Final preparations for 3.1.4
Support sub-types of ResponseEntity

Issue: SPR-10207