Migration context

This adds tests to migrate items based on source ID and then check that the expected number of items failed and the expected number fails. (These tests will of course be coupled with additional tests, such as checking that the entities exist and their field data.)

The one TO-DO item is to get it to rollback migrations performed during testing.