Add `nodes` field in Disk object

Make only structural changes in Haskell and Python code.
Use SetInstanceDiskNodes on migration

On migration or failover, when switching primaries, we call the function
SetInstacePrimaryNode. Add the SetInstanceDiskNodes function too, so
that the disk nodes also get updated.
Fix instance create
Add nodes in recreate disks
Add nodes when replacing disks
Add nodes in move
Upgrade cfgupgrade tool

Add an upgrade function for disk nodes.