interface-reconfigure: further separate the concept of ipdev and datapath and refactor various bits to move towards supporting multiple datapath backends.
interface-reconfigure: further separate the concept of ipdev and datapath
and refactor various bits to move towards supporting multiple datapath backends.

- Move ifup() and ifdown() into the "IP Network Devices" section.
- Drop unused function interface_up().
- Add netdev_up() and netdev_down(). These are effectively the same as
  ifup() and ifdown() but allow us to begin separating out control of
  devices which carry an IP address from those which are purely
  "datapath" which in turn should allow us to abstract away more of
  the differences between Linux Bridging and Vswitch.
- Add pif_datapath() which returns the datapath (AKA bridge) name or
  None if the PIF is bridgeless. Replaces uses of pif_is_bridged()
  when what we really mean is to check if the ipdev needs some
  additional devices to be configured to be useful.
- All callers of bring_down_bridge() now pass destroy=True so rename
  to destroy_bridge().
- inline delbr() into destroy_bridge since it is the only caller.
- All callers of destroy_bridge() call pif_is_bridged() first so push
  that up into the new function.
- Call to destroy_bridge() in action_up() is preceeded by a
  bring_down_interface() which will do the same so remove.
- destroy_bridge() is only called from bring_down_interface() so make
  it a nested function.
- There are no more callers of bring_up_bridge(), remove it.
- vconfig_rem() only has a single caller in bring_down_interface(),
  make a nested, name it destroy_vlan() for parity with
  destroy_bridge().

Signed-off-by: Ian Campbell <9be92b3dbbd6611e3e4c9209fb3d04b4919e7cca@citrix.com>

koushikcgit/xcp-networkd,robhoes/squeezed,simonjbeaumont/xcp-rrdd,koushikcgit/xcp-rrdd,djs55/squeezed,johnelse/xcp-rrdd,johnelse/xcp-rrdd,koushikcgit/xcp-rrdd,sharady/xcp-networkd,djs55/xcp-networkd,sharady/xcp-networkd,djs55/xcp-rrdd,djs55/xcp-rrdd,simonjbeaumont/xcp-rrdd,koushikcgit/xcp-networkd,djs55/xcp-networkd,koushikcgit/xcp-rrdd