Do not use already existing temporary files

mirror() method tries to create a new temporary file as can be
concluded by using random name.

To prevent from attacks, one has to make sure the file does not
exist. This patch creates temporary files with O_CREAT|O_EXCL mode.
updated cpanfile to include Fcntl
updated Changes
.travis.yml