Allow binding locally to different IP than endpoint IP

Sometimes you want the actual endpoint IP to be a load balanced IP, but
the bind IP to be a local IP (different per node).

This change allows that by using attributes from the [network-api-bind]
namespace.

Implements blueprint increase-ip-binding-flexibility

Change-Id: I4e134a5dc24ace58a7b9cb2705e66a7b17fd2554
Allow policy.json file to be specified

The policy.json file was removed in 853fa9fcc6d7e9e6607be188299bf6c9208f24f7
this will allow you to specify an attribute to point to a location of a
policy.json file to be used.

By default this is nil and the packaged policy.json file will be used,
but if required this can be overridden.

Change-Id: I2d21211e24e64d7046cf3782400310eb1bff4500
Implements: blueprint remote-policy
Allow packages to be updatable

In order for package updates to occur, package resources need to use
the upgrade action.  This is first phase of blueprint, to get some
consistency, next phase is to allow some update control.

Change-Id: I86750067b47766220f497303b2e187c93aeadc2f
Implements: blueprint allow-package-updates
Allow data network openvswitch bridge to be created

Allow data network ovs bridge to be created for flat and vlan.
Add attributes to control creation.
Add Tests.

Change-Id: I4d4cb79c40f849193c5ff1a79c88b7049886d594
Closes-Bug: #1307587
Fix openvswitch and linux bridge agent confs for ml2 on redhat

The agent conf files were not being created when using ml2 on redhat.
This patch creates the conf directory and file for the agent recipes.
For openvsiwtch, it's specific to redhat, as debian uses different conf
file, reported under this bug 1314751.
For linuxbridge, it's the same conf for both redhat and ubuntu.

See bug for more details.

Change-Id: Iae8fff68c5b270593ba9c23ecc8deac7577e2382
Closes-Bug: #1311311