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.
Why not just use EnvironInfoData directly? It must have all the information in.