This patch adds migrate codes and tests. It simply updates the current db
version to 1 without changing the schema.
The migration needs an exclusive store lock to avoid concurrent old rkt versions
operating to an updated db and returning strange errors or giving bad behaviours.
As the store lock is removed when spawning the stage0, migration isn't blocked by
running containers but only by rkt processes doing store operations (like
downloading an image, rendering an aci etc...).
Now migration covers only db updates. If the migration needs to also operate on
the other "non transactional" store entities (like the diskv stores or the tree
store) this should be thoroughly reasoned, as a rollback in case of an error is
not an easy task.
Test are added to introduce the migration testing framework and be the base for
future migration tests.