Fix TransportNodesListShardStoreMetaData for custom data paths

Cleans up the testReusePeerRecovery test as well

The actual fix is in TransportNodesListShardStoreMetaData.java, which
needs to use `nodeEnv.shardDataPaths` instead of `nodeEnv.shardPaths`.

Due to the difficulty in tracking this down, I've added a lot of
additional logging. This also fixes a logging issue in GatewayAllocator

Conflicts:
	src/main/java/org/elasticsearch/gateway/local/state/meta/MetaDataStateFormat.java
	src/main/java/org/elasticsearch/indices/store/TransportNodesListShardStoreMetaData.java
	src/test/java/org/elasticsearch/gateway/local/SimpleRecoveryLocalGatewayTests.java