Merge pull request #13 from l1ll1/master

return the ability of an sshKeyDist.cancel to show an error dialog
Hopefully fixed Windows issue with flickering Command Prompt windows.
Still trying to fix flickering Command Prompt windows on Windows OS's.
- Fixed up up some SSH dialog / Identity menu stuff which had been
broken by recent changes to KeyModel.

- More fixes for Windows flickering Command Prompt issue.

- Fix for wx.EndBusyCursor failing when there was no busy cursor.
Minor fix for KeyModel, in relation to a fix in launcher.py,
where keyModel was only being initialized in onLogin, but it
needed to be initialized earlier, because the Identity menu
items use the launcherMainFrame.keyModel object.
Switching from pageant.exe to ssh-agent.exe when running in "password" mode
on Windows, because of the issue of multiple Pageant icons appearing in
the system tray (CVLFAB-745).
After seeing this error:

  Error reading response length from authentication socket.

on my Windows XP VM.

I've decided that's it's safer to stick with Pageant/Charade for now.

Seeing multiple Pageant icons in the System Tray is not really a big
deal, especially if you can just mouse over them to refresh the
System Tray.
Removed code used for unit testing of SSH key dialogs from the
command-line, because they can now be tested from the Identity
Menu.
Merge branch 'master' of github.com:CVL-dev/cvl-ssh-utils
Deleting key automatically removes it from agent.
Renamed KeyModel's fingerprintPrivateKeyFile method to
getFingerprintAndKeyTypeFromPrivateKey, and made it set
KeyModel's self.publicKeyFingerprint if it finds the key
in the agent.  That way, we can check if self.publicKeyFingerprint
is not None in removeKeyFromAgent, instead of bailing out if
self.pubKey is None.  self.pubKey will only be set if we have
added the key in this current Launcher session, i.e. we can't
use the self.pubKey!=None method to check whether it's OK to
run removeKeyFromAgent if we have exited and relaunched the
Launcher, and then we want to remove the key using the
Identity menu.
Removed unnecessary instantiation of KeyModel object.
Private key file path is now saved in local settings if using
a permanent private key and if massiveLauncherConfig is not
None.
Also corrected spelling: "pagaent" => "pageant".
maybe fix a bug when using temporary keys for a second connection