Configuring Network from Vendor JSON Network Data

## _Just a Pull Request for review purposes_

* Adds a `apply_network_json` to the distro class.
* Tries to use `apply_network_json` if implemented by the distro and the ConfigDrive contains a `network` section in the vendor data.
* Adds a `NetConfHelper` class to help get link and device names from the network settings.


TOOD:
* DNS
* Cleanup
* Tests
* Re-name APIs and get upstream.