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 
We usually call those unit test classes just ``TestESCrashStorage``, and add the ``Functional`` part when it's not a ``Unit`` test. I know it's weird since we mostly have functional tests, but that's the convention so far. Though maybe you think it's time for a change and you want to start a revolution?