Points:
1. There are lots of duplicated definitions between bolt and
guts_cli, which is definitely not good.
2. The implementation in guts_cli also has issue, please
refer to https://github.com/etcd-io/bbolt/issues/391.
This refactoring can fix the issue.
Signed-off-by: Benjamin Wang <wachao@vmware.com>