Update docs.
[LIBCLOUD-455] Don't throw if 'imageId' attribute is not present in the
list_nodes response.

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
Correctly handling missing 'image' attribute in the OpenStack list nodes
response and add a test case for it.

Part of LIBCLOUD-455.
Update CHANGES.
Add new KeyPair class and methods for the key pair management to the NodeDriver
class.
Update existing compute drivers (OpenStack, CloudStack, EC2) which expose key
pair management through the extension methods to expose it through a new
standard key pair management API.

Also update affected code and tests, deprecate existing extension methods and
add some missing tests.

Note: Old and now deprecated methods will work until a next major release.
docs: Update upgrade notes and add a new section about key pair management.