Move some things around to cleanup and add more API docs.  Fix a
potential NPE and throw a proper JMSException instead.