etcdserver: refactor non-blocking check for sync tests

to make it much more reliable and avoid false errors.
pkg: fix SetFlagsFromEnv behaviour

This function was fundamentally buggy, as a panic could be trivially
triggered by setting the wrong environment variable (e.g.
ETCD_BIND_ADDR=foo). Instead, let's propagate the error and present it
to the user in a cleaner way.
Merge pull request #1505 from yichengq/193

etcdserver: refactor non-blocking check for sync tests
discovery: add command line flag for discovery-proxy
flag: split out SetFlagsFromEnvBad test; declare return error
Merge pull request #1643 from jonboulle/fix_flags

pkg: fix SetFlagsFromEnv behaviour
etcdhttp: return 404 when removing nonexistent member
Merge pull request #1648 from jonboulle/delete_member_404

etcdhttp: return 404 when removing nonexistent member
Merge pull request #1646 from jonboulle/1536_disco_proxy

discovery: add command line flag for discovery-proxy
etcdserver: add support for force cluster
etcdserver: add doc for getIDset