[LIBCLOUD-457] Reset context on the Connection class after the request has
finished.

Also update affected Abiquo driver to use "context" attribute correctly and
not rely on it being present across multiple requests. Instead of the
"context", use a new attribute called "cache".
Update generate fixture script to treat list_* method as implemented if the
corresponding iterate_* method is implemented.
Update Nimbus.io storage driver name so it's unique.
Re-generate documentation fixtures.
Give better "name" to ELB driver, re-generate documentation fixtures.
Add some missing docstring annotations.
Remove NODE_STATE_MAP attribute from Response class. No idea how this got here.
Add some more comments and missing docstrings.
docs: Update troubleshooting section.
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,  add a new section about key pair management
and update existing docs.
Add and implement get_key_pair method.

Also add tests and update documentation.