stabilize use of `Invocations()`
stabilize use of `Invocations()`

I observed a few cases where these assertions would raise false failures.

In one case, the inner `ContainElement` matcher would fails when it gets applied
against a `lager.Logger`. I think it happens because the `MatchFields` matcher
might raise an error when you try to run it against a non-struct. By using the
`ConsistOf` matcher we can more explicitly match (logger, event) pairs. and
avoid the error from gstruct.

The other failure I noticed seemed to be very delicate and timing-related --
simply waiting for `Emit` to have been called on the fake emitter was not enough
to guarantee that it had actually been called enough times for the requisite
invocation to appear. So I explicitly awaited each desired invocation.

Signed-off-by: Jamie Klassen <1bfae1aa9a4a40a48ecebe8006a55d888861996c@vmware.com>

concourse/concourse,concourse/concourse,concourse/concourse,concourse/concourse,concourse/concourse