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.
The temporary file is also useful for avoiding the possible situation
where we start writing the file but crash or fail before we complete the
write (think full disks).