[IOTDB-1639] Refactoring the cluster class structure to make it consistent with the server module (#4079)
1. Split Thrift RPC service and RPC implementation to make the logic here clear. For detail, refer the discuss: [Cluster-refactor] About refine classes name ยท Issue #3881
2. Weaken the role of MetaGroupMember. metaGroupMember is just an engine for serving meta raft group, which should not control the whole server too deep. Many fields (like coordinator, etc.) are extracted to ClusterIoTDB (renamed from ClusterMain), and ClusterIoTDB is responsible for creating them.
3. Similar with the relationship between StorageEngine and StorageProcessor in the server module, DataGroupMember can be considered as StorageProcessor, we created a DataGroupEngine to control them.
4. Refactored thrift client class hierarchy to reduce the duplication and imported Apache commons-pool the help manager thrift client object.
5. Write related unit tests for new adding code. For existing code, fixed all failed unit test cases
6. Performance verify. The read and write performance of the two branches(cluster-/master) is basically the same.