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 
```
02:28:57 < phrawzty> adrian: ultimately we know that urls will contain *something* because it's required_config,
                     even if that something is empty
02:29:09 < phrawzty> adrian: so either we try to determine that the *something* is marginally sane
02:29:24 < phrawzty> adrian: or we let it fail without checking at all
02:29:38 < adrian> phrawzty: we are trying to solve a problem that could eventually be caused by developers.
                   That's a bad thing to do imo, we can (and should) trust our users.
02:29:50 < phrawzty> adrian: great, i'll just remove the chunk entirely.
02:30:17 < adrian> phrawzty: that might actually be a better thing to do, yes.
02:30:32 < adrian> phrawzty: if the processors fail to start, then the user has to fix its configuration.
```