network: add support for CIDR addresses Debian routes

OnMetal is changing their template from:
`route add -net 1.2.3.0 netmask 255.255.255.0 gw 10.1.2.1 || true`
to:
`route add -net 1.2.3.0/24 gw 10.1.2.1 || true`
Merge pull request #235 from crawford/routes

network: add support for CIDR addresses Debian routes
coreos-cloudinit: bump to 0.10.3
coreos-cloudinit: bump to 0.10.3+git
etcd: explicitly specify the fields

Remove support for DISCOVERY_URL.
fleet: explicitly specify the fields

Refactor common code.
update: explicitly specify the fields
config: add yaml tags to File, Unit, and CloudConfig
 etcd: remove the name generator

 ETCD_NAME is set by its service unit.
ALEX: seperate etcd config from Units()
ALEX: seperate fleet config from Units()
ALEX: seperate OEM config from File()
ALEX: seperate update config from File() and Units()
ALEX: seperate etc hosts config from File()
ALEX: remove root parameter from File() and Units()
ALEX: seperate unit config from Destination()
ALEX: seperate file config from Permissions()
ALEX: move User into config
ALEX: move CloudConfig into config
add validator