metadata: Refactor common parts out of ec2
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