Add upgrade step to put the system identity back.

Conflicts:
	upgrades/upgrade_test.go
missing import.
Updates and move step to 1.22
Remove the step from 1.21 as it is in 1.22 now.
Merge branch 'master' into fix-juju-run
Hook up the state part of the upgrade.
Merge pull request #1188 from howbazaar/fix-juju-run

Add upgrade step to put the system identity back.

The agent config is updated by the upgrade step.
The machine agent code that writes or removes the system identity is now moved into its own worker that runs after the upgrade steps have finished.  This avoids the race to remove and add the file.

(Review request: http://reviews.vapour.ws/r/498/)