If, for whatever reason, a file has been created on the Jenkins home
volume with the wrong permissions (eg. ssh config/keys etc) then it is
currently impossible to override those permissions without going into
the volume and manually editing them.
This change updates the `copy_reference_file` function to use `cp -p`,
which preserves mode, ownership and timestamps of the source files
instead of the destination file being overwritten.