Define 'links' as a common parameter type

Nova APIs contain a lot of 'links' parameter and the definitions of
each API are the same. This patch adds a common type for 'links' and
shares it between APIs for the maintenancebility.

Partially implements blueprint nova-api-attribute-test

Change-Id: I9609a9cadb0a7edd707fe57e76b3d629a0b3f8bc
Validate list_keypair attribute of Nova V2/V3 APIs

This patch adds the JSON Schema for response of Nova V2 & V3
list_keypair APIs and validate the response with added JSON Schema to
block the backward incompatibility change in the future.

The response body of V2 & V3 list_keypairs APIs is same and given below:

{
    "keypairs": [
        {
            "keypair": {
                "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD
                              nPe3MJhEwcQNGZpYRaGYTwY9D9L3pr1c+eqJIP99
                              mtrUuqTEp3/YPiAzpL0Dem/32WWPOV4DEc27NBMx
                              rpOi9JJBssDq+6UdK5hMIwrZ/6dZt+CPz+76Lwxn
                              R1vilVFocis+OC9ddntazV1wrAWGyYL9a83vwcuT
                              V01FJzSNlYV4hni2vxcgQPkbgt+ldYoTmBS9X3W5
                              Qy/NrzuG53zHjkYjmz3tjiadZwgffDvjT3SBYWU3
                              kBGy6gxIs5f/wIvZUSUXGorOJNUw6FubMj4sLfE4
                              cbHS6W72xs6bmEhqxyjSLQK5fuHE1MgCCDPTd0vq
                              XdbLnCZ6+l0I8lpDhd Generated by Nova\n",
                "name": "test_key",
                "fingerprint": "52:53:dd:89:6a:73:c6:18:87:4b:1e:c1:4c
                               :b8:c3:c9"
            }
        },
        {
            "keypair": {
                "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC
                              9E3tf6msdTyVcytQrs882e4aX3Zhkp1ELIAowspL
                              OykUbzq21+0JALCxMkUxXig2GCF3jomfWez1frhG
                              o+Qj/ZgdwJG44k1ZzLswPZn5k5SMQzROTsnzDLXX
                              f95q6fWZLlfAbF7MA/wd/d/7oBmmrTfaiV27Xq9B8
                              x/TlWldmMd1Cst6SEYkeVhaynlxaFnrW9sr1nKGec
                              XSOtVagtUFP4XPxsN1XbAwxZX+ZeWMTYUgliD4+Sm
                              QevNuWfpHXPSTZ947GMxMythCIPjmZ34W4wq5xVI9
                              o1MCgL7s2nLUDqYm/DesB+m9MI/ylCpLVqwFDdDHg
                              rI9x+fRYInsHbUuF Generated by Nova\n",
                "name": "test_key2",
                "fingerprint": "ea:51:b2:56:85:b3:fb:43:6f:b7:a5:54:b7:
                               bd:ab:6d"
            }
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: Ie500239af2e862c14d49daac0e8018b24c92982b
Verify the list volume attributes of Nova APIs

This patch adds the JSON schema for volume list and
validate the response of Nova Volume list APIs with
added JSON schema to block the backward incompatibility
change in the future.

The response body of Nova APIs volume list-'os-volumes'
& volume list details-'os-volumes/detail' is the below:

{
    "volumes": [
        {
            "id": "a26887c6-c47b-4654-abb5-dfadf7d3f803",
            "status": "in-use",
            "displayName": "Volume Name",
            "availabilityZone": "zone1:host1",
            "createdAt": "1999-01-01T01:01:01",
            "displayDescription": "Volume Description"
            "volumeType": "Backup",
            "snapshotId": null,
            "metadata": {},
            "size": 100,
            "attachments": [
                {
                    "id": "a26887c6-c47b-4654-abb5-dfadf7d3f803",
                    "device": "/",
                    "volumeId": "a287c6-c47b-4654-abb5-dfadf7d3f803",
                    "serverId": "3912f4-c5ba-4aec-9165-872876fe202e"
                }
            ]
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I97bb6310a6fcb7d475dbd2bc53814d38c5e9c173
Merge "Verify the list volume attributes of Nova APIs"
Merge "Define 'links' as a common parameter type"
Merge "Validate list_keypair attribute of Nova V2/V3 APIs"
Merge commit 'refs/changes/65/81565/2' of git://gold.eng.hq.xensource.com/git/github/openstack/tempest into tmpbranch