Added hardlink option to file module

Also a bit nicer now with failures when a file exists where you want to create a link and other unexpected os errors.