XD-926 Update to SPR 4.0.0.M3

Issues:

- GenericApplicationContext needs refresh()
- GenericApplicationContext doesn't allow getBean after destroy
     the ModuleDeployer tried to unbind the channels after destroying the context
- Problem with @Autowire and @Qualifier when bean in parent context

Resolution:

- Add refresh() to test that needs it
- move module.close() until after unbind
- Under investigation; work around is to not use a qualifier but name the parameter with the bean name

Also:

- Add qualifier to SimpleModule.toString() to enable debugging when the same module is deployed multiple times in tests

Polishing:
- Stop the module before unbinding it
- Destroy the module's context after unbinding it

Previously, the context was stopped and destroyed in module.stop()
which caused the unbind to fail with SPR40.