lxd/migrate/container: Restructure of migrationSink.Do()
lxd/migrate/container: Restructure of migrationSink.Do()

- This is to accomodate the forthcoming link to the new storage layer.
- Renames the offer and response header variables to align with naming used in custom volume migration.
- Gathers together the legacy offer negotiation code so as to be easily segrated when new storage layer is linked.
- Passes rsyncFeatures from generated response header rather than offer header, to align with custom volume migration.

Signed-off-by: Thomas Parrott <6b778ce645fb0e3dde76d79eccad490955b1ae74@canonical.com>

lxc/lxd,Skarlso/lxd,stgraber/lxd,mjeanson/lxd,hallyn/lxd,Skarlso/lxd,lxc/lxd,atxwebs/lxd,hallyn/lxd,atxwebs/lxd,mjeanson/lxd,Skarlso/lxd,lxc/lxd,lxc/lxd,stgraber/lxd,hallyn/lxd,hallyn/lxd,lxc/lxd,stgraber/lxd,mjeanson/lxd,Skarlso/lxd,lxc/lxd,stgraber/lxd,stgraber/lxd,hallyn/lxd,stgraber/lxd,hallyn/lxd,lxc/lxd,stgraber/lxd,atxwebs/lxd,atxwebs/lxd