Make @ServiceScan work with Spring Boot

Note: This works only with Spring 1.1 latest snapshot.

The core issue was that the service scanning logic registered
each service bean as a singleton. Such beans evaded the logic
Spring Boot used during its autoconfiguration to avoid creating,
in most cases, invalid (bound to localhost and a default port)
beans for MongoDbFactory etc. This fix registers BeanDefintions
(with "factoryBeanObjectType" set to the correct type to help
Spring Boot), instead.

See: https://github.com/spring-projects/spring-boot/commit/e9d594c6930fd11561d12f1048f5b22161e7970a