Add additional tests for project()

The new `MapNestedModel` class and the tests that use it are designed to
check that `Pipeline.project()` properly handles mapping field names
that are nested.