Configstore no file until write

Change the ConfigStore so newly created EnvironInfo instances do not persist until they are written.

Changes the writing of the files to use a fslock instead of writing to a temporary file and renaming as a prelude to the changes coming where there will be multiple files related to a single environment connection (connection file, server file, and maybe a separate identity file)

CreateInfo now cannot return an error.

The diskinfo implementation now also separates the member storage from the persistence structure.
If we are going to copy all the fields of the EnvironInfoData, please name them the same - this should be password, not credentials.