Fixed issue related to duplicated servers with a password not launching server properties for the duplicate.

The duplicated server has *IsSet for a keychain item so when the server properties dialog tries to set the
string value of that keychain item to the text field, it sets a nil value resulting in the dialog faulting.

Now, while duplicating, we set the existing keychain entries to an empty string to reset the state.
Fixed the version info being reset in previous commit.
Committed files by mistake
Strip dead code and fix a typo in preferences
Post event directly to input text field instead of window to avoid an infinite loop
Change the key used for saving internal state to reset existing ones