major refactoring to use callbacks on parse

The previous scheme couldn't allow scanner to run under
child_process.fork and accurately notify browser app when complete.
Replaced emitters with callbacks of docs.
removed parrot emitter in favor of process.send

added callback to publish method