Use temp file to save metadata for readonly file
Changes after review

Add comment explaining metadata is not saved to original
and possible enhancement.
Use TempFile.WithExtension().
Allow labels in ProgressDialog to display & character

The default true value of UseMnemonic, intended for labels that actually label
some control, prevents status strings containing & from displaying properly
Merge pull request #75 from JohnThomson/progressLabelsAmpersand

Allow labels in ProgressDialog to display & character
Make IKeyboardControllerImpl public

 * To fix FieldWorks build, which uses it.
Merge pull request #77 from marksvc/kb

Make IKeyboardControllerImpl public
(TimS): Fixed failing tests on the build machine caused by tests using the test DLL as a fake XML file :/
Comment on TempFile regarding dispose & lack of destructor
Distinguish original file path vs path for metadata
Merge pull request #76 from andrew-polk/feature/readonlyMetadataChange

Use temp file to save metadata for readonly file