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 remove this? I think it was there because of a previous bug.
It's only a bit more sanity checking AFAICS.