Change v3 keypairs API to v2.1

This patch changes v3 keypairs API to v2.1 and makes v2 unit tests
share between v2 and v2.1.

The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .

Partially implements blueprint v2-on-v3-api

Change-Id: I1fcb93a00816eab2d87f251b7cf8a8992e920308
Refactor the servers API to use NetworkRequest

This makes the servers API v2 and v3 use the NetworkRequest object during
the construction of the requested_networks list.

Change-Id: Idc3a2a2c2bde714075404f54b8d4d66abaa52d9b
Convert compute/api to use NetworkRequest object and list

This makes the servers API pass the NetworkRequest objects through to
compute/api, but not yet over the wire.

Change-Id: I75b7cec88e3b0c3344dfeb073189e1b51dd01f27
Merge "Refactor the servers API to use NetworkRequest"
Merge "Convert compute/api to use NetworkRequest object and list"
Merge "Change v3 keypairs API to v2.1"