Modified the way keypairs are checked in openstack provider module

Now _check_keypair from openstack provider performs different.

1. First it ensures the ssh agent is running. If it can not be started it starts from the private key file.
    1. a If the file is protected and the password is wrong, it checks the fingerprint from the public key. 
        1. a.1 If it matches the one in the cloud, machines are started and if strict_ssh_checks if set to false, they remain started (unconfigured).
        1. a.2.if not, machines are not started. And program exits without reaching the connection part and its timeout.
    1.b If the password is right or the file is not protected, machines are started and configured

2. If the ssh-agent can be started oris started, the key is loaded into it.
    2.1If the key is protected and the password is wrong, the fingerprint are checked from the public key (see 1.a.i)
    2.2If it is unprotected or the password is right machines are started and configured