kontrol: decouple etcd store and use etcd as a remote backend

This will close #47 . Decoupling will provide us the following benefits:

1. Kontrol will be more scalable. We can open and run multiple kontrol instances without caring about the underlying etcd store. 
2. Kontrol can use different backends in the future and not just etcd
3. Maintaining and adding new features will be simplified 

It seems to work on basic Set/Get operations however Watch and other details are not tested yet. And this breaks all our tests which we also need to fix (like running etcd in travis before starting, adding etcd to makefile for easier developing, removing old kontrol artifact, etc...)