Merge pull request #14 from l1ll1/master

maybe fix a bug when using temporary keys for a second connection
Merge pull request #15 from l1ll1/master

pair programming changes
onPassphraseFieldsModified now calls Fit() to ensure that the
message (e.g. "Passphrase is too short)" will not be truncated.

The message at the top of the dialog has been reformatted slightly,
so that the dialog's natural width is slightly larger, so that
the resizing of the dialog from onPassphraseFieldsModified is
not such a drastic change.
Fixed bug where onPassphraseFieldsModified was referring to
passphraseStatusLabel1 and passphraseStatusLabel2 which should have
been newPassphraseStatusLabel1 and newPassphraseStatusLabel2.

onPassphraseFieldsModified now calls Fit() to ensure that the
message (e.g. "Passphrase is too short)" will not be truncated.

The message at the top of the dialog has been reformatted slightly,
so that the dialog's natural width is slightly larger, so that
the resizing of the dialog from onPassphraseFieldsModified is
not such a drastic change.

Eliminated the hack of temporarily setting newPassphraseStatusLabel2
to its longest possible string, then calling Fit, and then setting it
back to a blank string.  This was designed to ensure that the dialog
was wide enough to contain the longest passphrase status messages,
but it didn't work reliably.

Removed message dialog saying "Passphrase updated successfully!"

Minor changes to onPassphraseFieldsModified, inspired by
CreateNewKeyDialog's onPassphraseFieldsModified.
Switching from charade.exe to ssh-agent.exe, when using temporary
key.
Saving system SSH_AUTH_SOCK as PREVIOUS_SSH_AUTH_SOCK while using
temporary agent, so we can revert to the system agent afterwards.

Also reverting to underscore separation of MassiveLauncherKey
prefix from the rest of the temporary key file name, just because
I didn't like the look of the new temporary key file names in the
debug log.
Ensuring that sshKeyDist's shutdownReal doesn't get called twice.
Identity Menu items need to be able to delete key,
even if no agent is running.  Added new optional
ignoreFailureToConnectToAgent argument to KeyModel's deleteKey,
so that if removeKeyFromAgent fails, deleteKey can still delete
the key file from disk.
Putting killing of agent process in try/except block,
because I've come across cases where the agent failed
to start up, but KeyModel still tried to delete it,
and then threw an exception.
Just adding a couple of new lines to help with formatting an
error message.
Fixing CVLFAB-768.
Reset Key should still work, even if there is no agent running.
Now using ignoreFailureToConnectToAgent in ResetKey's call to
deleteKey, so it will proceed with deleting the key-pair from
disk, even if it fails to remove the key from the agent.
If InspectKeyDialog starts an agent (e.g. charade.exe), it should
stop the agent when it is closed.  We don't want lingering charade.exe
processes persisting after the Launcher exits.