function FileCopy(const ExistingFile, NewFile: String; const FailIfExists: Boolean): Boolean;
Copies ExistingFile to NewFile, preserving time stamp and file attributes.
If FailIfExists is True it will fail if NewFile already exists, otherwise it will overwrite it.
Returns True if successful, False otherwise.