Fixed evaluation of "!" operator in case of multiple profile expressions

Issue: SPR-11093
(cherry picked from commit 6078c27)
Fixed type resolution for uninitialized factory-method declaration

Issue: SPR-11112
(cherry picked from commit 5dcd287)
Fixed inner bean name determination for multi-level nesting scenario, calculating a unique bean name as early as possible now (and for any kind of bean scope)

Our per-bean caching in AutowiredAnnotationBeanPostProcessor and co relies on unique bean names, so this change fixes potential cache mismatch problems occuring there.

Issue: SPR-11131
(cherry picked from commit 242ecdc)
Optimized use of JDBC 3.0 ParameterMetaData.getParameterType, caching information about drivers which do not support that feature

Issue: SPR-11100
(cherry picked from commit 4c8a789)