etcd: explicitly specify the fields

Remove support for DISCOVERY_URL.
fleet: explicitly specify the fields

Refactor common code.
update: explicitly specify the fields
move config into its own package
change environmentString and environmentLen
add validator
add validate flag