Trove/list-datastore-type-and-versions

Description
This blueprint will augment the existing API GET/datastores call for retrieving all datastore type and versions in a single call.

Blueprint: https://blueprints.launchpad.net/trove/+spec/list-datastore-type-and-versions

Justification/Benefits

 * Instead of making n+1 calls where n is the number of datastore types, this single API call will fetch all datastore types and version, and the manager in a single call. It will also show if the version is the default for that datastore.
 * This call can vastly improve the user experience for retrieving all the supported datastore types and versions

Configuration
None

Database
No impact

Augment existing API call: List All Datastore Types & Versions
Request

GET/{tenant_id}/datastores

Response {  "datastores":[ {        "default_version":"1", "id":"1", "links":[ {              "href":"https://API/v1.0/1234/datastores/1", "rel":"self" },           {               "href":"https://API/datastores/1", "rel":"bookmark" }        ],         "name":"mysql", "versions":[ {              "id":"1", "links":[ {                    "href":"https://API/v1.0/1234/datastores/versions/1", "rel":"self" },                 {                     "href":"https://API/datastores/versions/1", "rel":"bookmark" }              ],               "name":"mysql-5.5" },           {               "id":"2", "links":[ {                    "href":"https://API/v1.0/1234/datastores/versions/2", "rel":"self" },                 {                     "href":"https://API/datastores/versions/2", "rel":"bookmark" }              ],               "name":"mysql-5.6" }        ]      },      {         "default_version":"1", "id":"2", "links":[ {              "href":"https://API/v1.0/1234/datastores/2", "rel":"self" },           {               "href":"https://API/datastores/2", "rel":"bookmark" }        ],         "name":"redis", "versions":[ {              "id":"1", "links":[ {                    "href":"https://API/v1.0/1234/datastores/versions/1", "rel":"self" },                 {                     "href":"https://API/datastores/versions/1", "rel":"bookmark" }              ],               "name":"redis-2.6" },           {               "id":"2", "links":[ {                    "href":"https://API/v1.0/1234/datastores/versions/2", "rel":"self" },                 {                     "href":"https://API/datastores/versions/2", "rel":"bookmark" }              ],               "name":"redis-2.8" }        ]      }   ] }