As data migrations can be of arbitrary complexity, it is very difficult
to nail down a framework other than just a method call that does all the
work. We want to be able to control how much work is done during each
run, but that's about it.
After writing a method that does the migrations, optionally limited by
the max_count argument that can be passed in, developers who introduced
the migration will just need to declare it as part of the
online_migrations tuple on the DbCommands class, and the operators can
simply run a single online_data_migration command to migrate all the
declared migrations.
See tests for some simple examples.
Change-Id: I23810de8fc0d3875daf19af08bc9b57461f177ee