Using injection in migration for prod_dir/identity

migrate was using certlib.ConsumerIdentity, so move
it to using injected IDENTITY.

Also move it to using an injected PROD_DIR, and update
tests cases to provide mock versions.

migrate.py was using str(ProductDirectory) to get the
product dir path. This worked because of the __str__,
but is hard to mock, so move to just using the 'path'
attribute.
Remove unused ConsumerIdentity from test_unreg