Exclude infra modules from public distribution

Prior to this commit, spring-build-src and spring-framework-bom
internal artifacts were published as part of the distribution bundle.

This commit excludes those projects so that those unnecessary artifacts
are no longer shipped.

Issue: SPR-12087
Latest dependency updates (AspectJ 1.8.2, Jackson 2.3.4)
Polishing
ShallowEtagHeaderFilter supports Servlet 3.1's setContentLengthLong as well

Issue: SPR-12097
(cherry picked from commit 0c32d66)
Upgrade to Apache HttpComponents HttpClient 4.3.5 and HttpAsyncClient 4.0.2

Issue: SPR-12100
(cherry picked from commit 5cd1e6a)
DefaultListableBeanFactory defensively handles BeanDefinition access in getBean(Class)

Issue: SPR-10542
(cherry picked from commit 9d3d6d5)
PersistenceAnnotationBeanPostProcessor defensively handles BeanDefinition access for extended EntityManagers

Issue: SPR-8834
(cherry picked from commit 592e344)
ServerEndpointExporter can initialize itself based on a late-provided ServletContext as well (for Boot)

Also allows for direct setting of a ServerContainer and for custom triggering of endpoint registration.

Issue: SPR-12109
(cherry picked from commit 11805b6)
Consistent attribute documentation/formatting in spring-context and spring-mvc schemas
(cherry picked from commit b5763fe)
PropertySource implementations perform conversion to String arrays via StringUtils (getting rid of EMPTY_NAMES_ARRAY)
(cherry picked from commit b73c531)
Polishing
DispatcherServlet's checkMultipart detects wrapped MultipartRequest as well

Issue: SPR-12114
(cherry picked from commit 786fd92)
Polishing
Polishing
Polishing
Include ALL source artifacts in published sources jars

This commit updates the Gradle build to ensure that *all* source
artifacts are including in published 'sources' jars.

To achieve this, we are now assembling 'sources' jars from
'sourceSets.main.allSource' and not explicitly including or excluding
anything by default.

Issue: SPR-12085
(cherry picked from commit 07629a3c7cc9ad677d31d383015410ad3395addc)
Improve ResolvableType.hashCode() for better performance

Prior to this commit, when there was a lot of entries in the
ResolvableType.cache HashMap, getting a simple value could
take a lot of time due to a lot of calls to ResolvableType.equals().
ResolvableType.equals() used this.type, getSource(),
this.variableResolver.getSource() and this.componentType, but
ResolvableType.hashCode() used only this.type.

With this commit, ResolvableType.hashCode() now uses the same
fields than ResolvableType.equals().

Performance on the spring-resolvabletype-benchmark project:
 - 8000 us before this commit
 - 120 us with this commit

Issue: SPR-12122
(cherry picked from commit 7ea69fb)
Improve configuration changes in GuavaCacheManager

Prior to this commit, setting the parameters used to build the caches
was fragile in static mode as the caches were created right when the
setCacheNames setter was called.

This commit provides a better handling of such arguments and also
provide a way to restore the dynamic mode if necessary.

Issue: SPR-12120
(cherry picked from commit d47c543)
Cache.get(key, type) explicitly defines an IllegalStateException in case of a type mismatch

Issue: SPR-12145
(cherry picked from commit 2f93759)
AbstractAutowireCapableBeanFactory avoids early FactoryBean instantiation on currently created configuration bean

Issue: SPR-12141
(cherry picked from commit 4432c41)