remove unused recoveryComplete method.
Add more well defined exception expectations to provider API and more
documentation.
Add a Message factory interface and default implementation to allow for
Providers to customize the JmsMessage based objects that are returned
from a Session message create method.  This can allow for JmsMessage
having an internal kernel that is provider supplied which implements
mapping between the JMS types and a more optimized Provider instance
that is able to be transmitted faster.
Refactor a bit and start using JmsMessageFactory to create Messages to
allow for later optimizations.