functional tests are built upon embeded etcd, and focus on etcd functional
correctness.
Its goal:
1. it tests the whole code base except the command line parse.
2. it is able to check internal data, including raft, store and etc.
3. it is based on goroutine, which is faster than process.
4. it mainly tests user behavior and user-facing API.