networkd: Fix bug causing bonding to always be loaded
datasource: Add FetchNetworkConfig

FetchNetworkConfig is currently only used by ConfigDrive to read the
network config file from the disk.
network: Add support for multiple addresses and HW addresses

Logical Interfaces can be assigned a hardware address allowing them
to match on MAC address. The static config method also needs to
support specifying multiple addresses.
test: Refactor interface tests a little
Merge pull request #212 from crawford/metadata

refactor: Refactor metadata and datasources to be more testable
digitalocean: Add DigitalOcean metadata service
digitalocean: Add support for processing network config
fix FetchMetadata 400
digitalocean netconf
Fall back to MAC addresses if there is no name
Add support for configuring IPv6 addresses
Add support for DNS, actual errors, and better logging
Only generate routes for public interfaces