Refactored open/close index api to make use of the new recently introduced generic ack mechanism

Closes #4169

Conflicts:
	src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexRequest.java
	src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexRequestBuilder.java
	src/main/java/org/elasticsearch/action/admin/indices/close/TransportCloseIndexAction.java
	src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexRequest.java
	src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexRequestBuilder.java
	src/main/java/org/elasticsearch/action/admin/indices/open/TransportOpenIndexAction.java
	src/main/java/org/elasticsearch/cluster/metadata/MetaDataIndexStateService.java
	src/main/java/org/elasticsearch/rest/action/admin/indices/close/RestCloseIndexAction.java
	src/main/java/org/elasticsearch/rest/action/admin/indices/open/RestOpenIndexAction.java
	src/test/java/org/elasticsearch/cluster/ack/AckTests.java
	src/test/java/org/elasticsearch/indices/state/OpenCloseIndexTests.java
Added base ClusterStateUpdateRequest class that executes on multiple indices
Added readTimeout, writeTimeout, readAcknowledged and writeAcknowledged methods variation without version as parameter, to be used by api that always read and write those parameters. Helps avoiding to call the variation that accepts a Version with actual version null.