MigrationRunner
Applies pending migrations against the given provider.
On first use, creates the devcore_migrations tracking table automatically. Each migration runs in its own transaction and is recorded immediately after. Migrations are applied in ascending Migration.version order.