Put validation/escaping into EtcdClient::Request itself.

Fixed a TODO to do more validation of the key, while I was there.
In progress, DO NOT MERGE!