[CLIENT] Remove unnecessary intermediate interfaces

`Client`, `ClusterAdminClient` and `IndicesAdminClient` had corresponding intermediate `internal` interfaces that are unnecessary and cause a lot of casting. This commit removes the intermediate interfaces and uses the super interfaces directly.

This PR also  simplifys `FilterClient` by subclassing `AbstractClient`
aren't we missing a generic type here? `ElasticsearchClient<ClusterAdminClient>`