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.
makes sense, the reason why I didn't do it is that on the long run bw comp checks will go away and everything would be simpler if the index is serialized by the class that holds it. On the other hand the additional methods you suggest don't complicate things that much.