Refactored for 1.1.0

- reworked how ssh readiness code works. This now works just like the builtin ssh code.
- ssh configuration information now pulled from the VM object using the ssh_info attribute.
- putty.username and putty.private_key_path is now set to nil only if the variable is still
  set to UNSET_VALUE. I was setting this to nil every time which was broken.