Add "timeout" argument to ParamikoSSHClient.run method.

If this argument is specified, run method will throw if the command doesn't
finish in the provded time period.
Add __repr__ and __str__ methods.
Fix various bugs and add various improvements:

- Fix typos in docstrings and comments
- Add import_key_pair_from_string to dummy compute driver.
- Fix ec2.import_key_pair_from_string for Python 3
- Fix publickey._to_md5_fingerprint for Python 3
- Fix publickey.get_pubkey_ssh2_fingerprint for Python 3
- ec2 driver: Make cidr_ips argument mandatory
- Add "floating IP" functions to the OpenStack provider

Closes #301

Signed-off-by: Tomaz Muraus <tomaz@apache.org>