Correct the ordering of some expecteds and actuals.

This makes the failures clearer as the descriptions for each argument
now correctly describes it.

Change-Id: Idbe73ed72c48b189a30654b3e3809abb3334e050
Reject re-entrant calls.

These aren't supported, as they would need separate layers of caching
the input and output collections, which we don't do at the moment.
While this is something that may be worth adding later, it's not
needed for the moment & thus not supported. Reject them outright
to avoid corruptions of the output data.

Change-Id: Ia17bc97a0bc0d5471c88e62574e4f96809707cf5