Add index.data_path setting

This allows specifying the path an index will be at.

`index.data_path` is specified in the settings when creating an index,
and can not be dynamically changed.

An example request would look like:

```json
POST /myindex
{
  "settings": {
    "number_of_shards": 2,
    "data_path": "/tmp/myindex"
  }
}
```

And would put data in /tmp/myindex/0/index/0 and /tmp/myindex/0/index/1

I found that the `NodeEnvironment` abstraction works well for index-specific
data paths, and passing the index settings in to the various methods gives
us more flexibility in the future with regard to adding any other environment-
specific settings.
Shall we move the randomization logic to this method instead of using this only for enabling the randomization? Or do we want to make sure that all of the indices have either custom data path enabled or not?