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.