able to get root dir
fix(etcd): be more explicit with name error message
fix(web): don't share the DefaultMux

All of the web handlers were sharing one mux. Separate them out into
individual muxes.
fix(etcd): checkURL on webURL

make it so that dropping the schema isn't fatal.
fix web
update
fix join command
defaultScheme based on tls
chore(etcd): introduce sanitizeURL

checkURL was a little weird and allowed two different ways to specify
flags. Introduce sanitizeURL which will make sure the host passed in is
simply hostname:port and then appends a Scheme.
chore(etcd): cleanup TLS configuration

the TLS configuration was getting rather complex with slices of
tls.Config's being passed around and pointer nil checking for schema
types.

Introduce a new TLSInfo type that is in charge of holding the various
TLS key/cert/CA filenames the user passes in.

Then create a new TlsConfig type that has a Scheme and the Client and
Server tls.Config objects inside of it. This is used by the two
transport start methods which had been using a slice of tls.Config
objects and guessing at the scheme based on the non-nil value of the
Config.
fix(etcd): fixup TLSInfo json

the JSON wasn't getting generated properly. Fix it up.
fix(etcd): fatal when err != nil

stupid typo, fix
fix(etcd): use transporter scheme in joinCluster

Follow the transporter scheme when trying to join the cluster. Otherwise
the scheme is empty and the http client errors.
feat(fixtures/ca): Initial commit
chore(transporter): add spaces before return

just a little nip
fix(transporter): consistently print debug

not all transporter handlers were printing debug on failure. Fix.
fix(etcd): reverse the cert handling

the server tls config needs the client CA information and the client
needs the pub/priv key. This is how this code used to work.
fix test
better naming in join
add x509 extended key usage