Remove synchronous assumptions from pipeline tests.

Some pipelines may require asynchronous verification before continuing.
Fix pipeline blocking test.
Fix pipeline tests.

Refactor creating the message context object instead of sending a new object to each host.

Also use the HevEmitter promise to determine if messages are dropped.