Fixes and a "play_script" method.

This set of commits adds minimal docstrings to all public methods, a "play_script" method for both supported underlying protocols and a bunch of miscellaneous fixes.