Rewrote the file traits as a File class
Rewrote the file traits as a File class

The old file traits have been replaced with a proper File class that
defines methods for dealing with a File object. A File object is given
a path on construction and opens a stream to the file. If write_access
is requested on construction of the File object, then the file handle
will not be closed until the overwrite() method has been called at some
later point. This means that you can retain an exclusive lock on a file
from the time of reading until after the time of writing, preventing
interim changes coming from another user.

jwcarr/SimpleSignUp,jwcarr/SimpleSignUp,jwcarr/SimpleSignUp