Add listener nodes to nodes list if 'sniff' is true

TransportClient doesn't add the initial nodes to the nodes list
if it doesn't retrieve any nodes from the listeners which can cause
the transport client to throw a 'NoNodeAvailableException' if the
'sniff' response didn't return any nodes. This situation can occure
if the client tries to get the listener nodes cluster state while that
node is not yet connected to any other nodes.
Fail GetIndexTemplate if names it null or empty
Call validate in TransportClients before request is send
Add missing TransportHandler for clear_sc (ClearScroll)
Small cleanups in TransportClient et.al

Catching Throwable instead of Exception in TransportClient
and TransportClientNodesService and restore interrupted flag
if interrupt exception is caught and ignored
Cleanup Integration Tests