ssh password support & cmd env support & unique server-name support

there are three inprovements:

1. support user login use username/password by ssh
2. when command is executed, env can be modified. this is useful when chef is not installed in standard path.
3. server-name unique checking. Now if you want to create a instance but another instance is already existed with same server name, kitchen will skip creating it.

there is a example of .kitchen.yml:

---
driver:
  name: openstack
  openstack_auth_url: xxxxxxxxx
  openstack_username: user01
  openstack_api_key: userpasswd01
  image_ref: xxxxxxxxx
  flavor_ref: 1
  server_name: <THIS IS SERVER NAME>
  username: root
  password: <ROOT PASSWORD>
  env:
    PATH: /usr/local/chef/bin:/bin