[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`
Can you mention issue #4355 in the commit that makes `Client` implement `Closeable`? Also we might want to do the same with `Node`.