Add a etcd backend for caching facts

This backend is modeled on the redis one, but using the builtin
expiration system of etcd. After looking at various options for
the etcd module, I settled on etcd because it was the easiest to
install with pip, but it should be trivial to change the client.
Ideally, yes, but I tried to keep consistency with others modules ( like the redis one ). I will look if there is a consesnus accross the ansible source code.