Add support for authenticated clusters
 - Add the --user and --password parameters
 - Add connectivity checks

Connectivity checks are useful if the wrong authentication information
is given, or if the script cannot connect directly to the individual
shards