Make Message creation pluggable

Thank for the suggestion to use generics to get round the type compatibility problems. I've fleshed it out as far as I think it needs to go.

When built on top of this change, my Spring Integration based support contains even less code - I now only need a single adapter so that an org.springframework.messaging.MessageHandler can be used as an org.springframework.integration.core.MessageHandler.