bug 1094767; crashstorage type for new ES module

This PR introduces a crashstorage type for the new ES module.  It also modifies the `ConnectionContext` class to bring it in line with the patterns established in the other `external` modules.  The changes to the context required some other modifications to be made to the index creation class (and associated tests).

`r?` @AdrianGaudebert @twobraids 
Why not keep this method here, but change the way it works? I know it's been used in a few places in my upcoming pull requests, so I'd be easier for me if it stayed. It can be something like this:

```python
def get_index_client(self):
    with self.es_context() as conn:
        return conn.indices_client()
```

And then you can keep using this method in the other methods of this class.