SpringBeanProcessor: cope with non-public @Bean methods

A @Bean-annotated method on a Spring @Configuration class does not
have to be public. Previously, when SpringBeanProcessor encountered
a non-public @Bean method it would fail to determine the bean's type
and throw an IllegalStateException.

This commit updates SpringBeanProcessor to use
Class.getDeclaredMethods() when looking for the @Bean method on a
@Configuration class, thereby allowing it to find non-public methods.
Merge pull request #578 from wilkinsona/non-public-spring-beans

SpringBeanProcessor: cope with non-public @Bean methods