Cloner: add upgrade test

This is the 'test_grenade_forward' and 'test_upgrade_backward'
tests from d-g.  Both scenarios are covered because they both
simulate havana->master upgrades, just changing which of them
is the 'current' change.  Since we examine the states of all
changes, in the course of running the test we check the results
for both when a current change is havana and master.

This also covers the 'test_branch_override' case from d-g.

Change-Id: I95abd62279bd44e88a608ad908f4876d11d50ec2
Merge "Cloner: add upgrade test"