Internal: refactored TransportSingleCustomOperationAction, subclasses and requests

`TransportSingleCustomOperationAction` is subclassed by two similar, yet different transport actions: `TransportAnalyzeAction` and `TransportGetFieldMappingsAction`. Made their difference and similarities more explicit by sharing common code and moving specific code to subclasses:
- moved index field to the parent `SingleCustomOperationAction` class
- moved the common check blocks code to the parent transport action class
- moved the main transport handler to the `TransportAnalyzeAction` subclass as it is only used to receive external requests through clients. In the case of the `TransportGetFieldMappingsIndexAction` instead, the action is internal and executed only locally as part of the user facing `TransportGetFieldMappingsAction`. The corresponding request gets sent over the transport though as part of the related shard request
- removed the get field mappings index action from the action names mapping as it is not a transport handler anymore. It was before although never used.
Since the index on not optional for the get field mappings action, maybe there should rather be 2 overridable protected methods `readIndex` and `writeIndex`? This way we wouldn't even need the version checks?