2.23 Upstream Checkin.
Merge branch 'upstream-2.23'

Conflicts:
	KeePass.sln
	KeePassLib/PwDefs.cs
Safer file-transactions

 * FileTransactionEx.cs : added a check for the existence of the temporary
	file before deleting the base file in CommitWriteTransaction()
Add automatic recovery of *.tmp files during synchronization.

Added an automatic recovery routine to ImportUtil.cs:Import().

On file open failure, automatically searches for a *.tmp file and will
attempt to rename it as the target file *IF* the target file actually
does not exist.

This prevents an interrupted WebDAV DELETE/MOVE pair from completely
breaking synchronization (for example, using triggers).
Update gitignore to not include private keys.

Also ignore *.orig files.
Experimental fix for xsel freezing X sometimes

Added --nodetach to the xsel invocation to try and keep xsel from crashing
X.
Fix building on Linux scripts.
Add private keyfile generation script.

This script generates a clean set of private key files. Note by default
these keys are not password protected.
Strong-name key file changes for new keyfile script.
Mode update for SnKeys
Revert experimental ClipboardUtil fix.