[ASTERIXDB-2107][CLUS] Prevent Invalid UNUSABLE State in Dynamic Topology - user model changes: no - storage format changes: no - interface changes: yes Renamed IClusterStateManager add/Remove NCConfig methods to notifyNode join/failure.
Details: - Mark node as participant when it completes its startup and not when it joins the cluster. - Allow partitions to be added with pending activation state. - Remove the use of static MetadataProperties for reporting number of nodes. - Add test cases.
Introduce Strategy Based Replication and Fault-Tolerance This change includes the following: - Introduce new APIs for Replication and Fault-Tolerance Strategies. - Add configuration in cluster description file for high-availability. - Add built-in replication strategies (Metadata_Only, Chained_Declustering) - Add built-in fault-tolerance strategies (Auto, Metadata_Node) - Remove none cluster state functionality from ClusterStateManager. - Add customizable NC startup sequence