* bugfix: create the etcd object in `xpcall`, it may fail, the return values of `etcd.new` should be `res, err`.
fix issue: #2310
1. The old process, if creating etcd fails, etcd data will no longer be synchronized. We need to create the etcd object in xpcall.
2. the return value should be res, err of etcd.new.
* test: old test case is unstable, should delete some checkpoint which is wrong.