fixed a bunch get_message() bugs, refactored the PythonParser to be saner.

still need more pubsub tests but all this stuff *seems* to be working now