* cleanup low-level API: exception classes, moved some out of pub module that did not
belong there (clutter), move couple modules; specifically:
* Removed from pub (available on object returned from pub.getDefaultTopicMgr())
* getOrCreateTopic -> pub.getDefaultTopicMgr().getOrCreateTopic
* getTopic -> pub.getDefaultTopicMgr().getTopic
* newTopic -> pub.getDefaultTopicMgr().newTopic
* delTopic -> pub.getDefaultTopicMgr().delTopic
* getAssociatedTopics -> pub.getDefaultTopicMgr().getTopics
* getDefaultTopicTreeRoot -> pub.getDefaultTopicMgr().getRootAllTopics
* Removed from pub (available from pubsub.core):
* ITopicDefnProvider
* Moved from pub into to pubsub.core.TopicDefnProvider class as classmethod:
* registerTopicDefnProviderType
* Renamed:
* TopicNameInvalid -> TopicNameError
* UndefinedTopic(RuntimeError) -> TopicNameError(ValueError)
* UndefinedSubtopic(RuntimeError) -> TopicNameError(ValueError)
* ListenerInadequate(TypeError) -> ListenerMismatchError(ValueError)
* UnrecognizedImportFormat -> UnrecognizedSourceFormatError
* ListenerSpecInvalid -> MessageDataSpecError
* SenderMissingReqdArgs -> SenderMissingReqdMsgDataError
* SenderUnknownOptArgs -> SenderUnknownMsgDataError
* ListenerNotValidatable -> TopicDefnErrorcd
* Changed;
* Topic.isSendable -> hasMDS
* TopicManager.??? -> isTopicInUse + hasTopicDefinition
* completed the ref docs
* support installation via pip
* cleanup versioning metadata: use pubsub.__version__ instead of pub.PUBSUB_VERSION
* support Python 3
* add getListenersIter() to iterate over listeners without temp copy of listener list
* add deprecation message when import setuparg1
* new wxPubsubMonitor utility class