Add support for 'disable primary shard nodes option' in datacenter crossing case

Sometimes we need to do write request in one datacenter for low latency and another datacenter we just provide read operateion.
On the other hand ,we just have one elasticsearch cluster because of we want to use elastisearch self replication strategy.
Because of these reasons, we want to specify primary shard nodes . 
For example ,we want some nodes  in west would not be assigned primary shards and the nodes in east assigned all primary shards.
Please ignore the "NOTICE.txt" changes.