Clean up shell display of slave info

Suppress links and improve display of slave information for the 'show' and
'create' commands. Also refactor shell.py to avoid repeating the code for
displaying an instance.

The revised print_instance method also avoids bug 1322822 where the order
in which attributes are queried can affect the display output.

Depends-On: If8a154083d0095606fb3ee115cc9b66ab788cbb4

Partially-Implements: blueprint replication-v1
Partial-Bug: 1322822
Change-Id: Ie1ac42d61e920ac8ea1ebab35c2db096fd313077
Add visibility filter to datastore versions

Allows datastore versions to be hidden from all users except those
explicitly allowed by their tenant. Implemented via a visibility
attribute for datastore versions (defaulting to 'public'), and a
datastore version member table for controlling access to non-public
datastore versions by tenant.

This commit provides the client functionality for integration tests
related to the datastore-visibility feature.

Implements: blueprint datastore-visibility
Docimpact: change to datastore version payload
Change-Id: Ic8024a631530ba295688d7e49e895f50cb2f32ef
Add new command: detach-replica

Add new command to detach a replica from its replication
source.

Partially Implements: blueprint replication-v1
Co-Authored-By: Nikhil Manchanda <SlickNik@gmail.com>
Change-Id: Ieca67f042c6bcb33f2a4de1acbb330d3eefc0600
Merge "Add visibility filter to datastore versions"
Merge "Clean up shell display of slave info"
Updated from global requirements

Change-Id: Ic0a0f060a974fbf605a135f473d55c0a8f5eb4da
Merge "Add new command: detach-replica"
Merge "Updated from global requirements"
Add a drop config-grp command in update instance

As per the current code in the client, there is no option to detach
the configuration group of the instance. This change gives a user the
option to explicitly drop the config group of the instance as part of
the instance update call.

Change-Id: I7defd110549df87afd267d3ebe998904ff6b7483
Closes-Bug: 1359359
Clusters troveclient Implementation

adds clusters support to the troveclient.

Co-Authored-By: Ranjitha Vemula <rvemula@ebaysf.com>
Co-Authored-By: Michael Yu <michayu@ebaysf.com>
Co-Authored-By: Mat Lowery <mlowery@ebaysf.com>

Partially implements: blueprint clustering

Change-Id: I6ed2c4c79a17fcf8f14c587cab6a8ec3acaf319f
adding configuration parameters mgmt api

add the CRUD calls of configuration parameters mgmt calls

partially implements blueprint configuration-parameters-in-db
Change-Id: Iaaea946bdbcab91ca02e5e2cbf956a3980a461ab
Use 'replica' instead of 'slave'

Replace the mysql-specific term 'slave' with the more general term
'replica'.

In order to merge properly the client currently handles both 'slave' and
'replica' in certain cases. The 'slave' support will be removed completely
once the trove runtime is updated to be in sync.

Change-Id: Id22d18a84a4ac104ff8af09959e8eb2ae0102e97
Co-Authored-By: Nikhil Manchanda <SlickNik@gmail.com>
Partial-Bug: 1360310
Merge "Use 'replica' instead of 'slave'"
Update the README.rst with latest help

The help has substantially changed since the last time the
trove client was published to pypi. Updated the README.rst
with the latest help information.

Closes-Bug: 1366981
Change-Id: I3e2533b4c57f63d20e804c1fca5731fe6a522199
Fix Cluster-Create and Cluster-Show Response

the refactoring in Ie1ac42d61e920ac8ea1ebab35c2db096fd313077
broke the responses for the aforementioned commands,
resulting in stacktraces.

Change-Id: Idb6d5677cb854b9dc76ad621910277b687c111a1
Closes-Bug: #1368982