JCLOUDS-707: Improve SSH key pair creation

The SSH key pair creation has been improved to avoid having multiple
public keys with the same fingerprint:

* Create the SSH key pairs before creating the nodes.
* Only auto-generate key pairs if the user has not configured a
  public key.
* If the user has provided a public key, try to find one with the
  same fingerprint and reuse it.
* To make the migration to v2 easier, now the fingerprint of the
  public key is used for the name of the key pair.