Seperate out protocol handling from connection.
add travis support
Add in etcd support.