Provide a NullFilter to simplify the implementation of simple filters.
Factored out some common code.
Apply filters in multi-occurrence-to-multi-occurrence setting too.

No filtering was being done at the root and intermediate nodes, only on
leaf nodes.
Note nested objects in multi-occurrence-to-multi-occurrence setting too.

This completes the work in dd61a4828c so that MappingContext.beginMapping
and endMapping are invoked when descending root and intermediate nodes
too.
Merge pull request #24 from roadrunner2/multi-occurence-improvements

Multi occurence improvements