Multi occurence improvements

This is based on commits for which previous pull requests have already been made - see the first two commits.

The middle two commits are just some small helpers and setup; the last two commits are the meat of this pull request.

Basically in a multi-occurrence-to-multi-occurrence mapping it was not possible to filter directly at the top level properties of the multi-occurrence. Take for example the 'infoMap' and 'infos' in the new filtering test: the filter was never being called with those as sourceName and destinationName; it was only being called with 'key'/'item' and 'value'/'info'. And similarly even though there is a conceptual descending into the 'infoMap' and 'infos' properties there was no beginMapping/endMapping being called on the context so it could not track that properly.