Internal: removed needless serialization code from TransportIndexReplicationAction and corresponding request object

TransportIndexReplicationAction is always executed locally, as an internal action that is part of either delete by query or delete (when routing is required but not specified). Only the corresponding shard level requests get sent over the transport, hence no transport endpoint is needed for the index version, nor the index request itself is supposed to be sent over the transport.

Made all index requests fields final and removed `validate` methods from index requests as we can rely on validation performed by the callers on main transport actions. No need to validate it again as the request doesn't even get sent over the transport.

Moved classes from `org.elasticsearch.action.delete.index` to `org.elasticsearch.action.delete` and adjusted visibility so that internal requests are not public anymore.

Also removed serialization code from IndexDeleteResponse as it never gets sent over transport either.
thanks for adding javadocs to those classes!