Support publications which use this.x methods

Closes #21

Added a PublishContext object which is attached to the publication.  

If no cursors are returned this.ready() is given 300ms to be called.  Calls to this.added, this.changed, and this.removed should work correctly.