new features in copyDirRecursive

Fixed an issue with error handling in  'rmdirRecursive'

changed the way copyDirRecursive works.  
- paths needed to be normalized 
- using 'preserve' instead of 'forceDelete'. it makes more sense to let users decide if they want to keep the existing folders/subfolders then to ask them if they want to 'forceDelete' the old ones. The default operation will be to keep existing folders. 
- added (and fixed) 'inflateSymLinks'. It's a new option that allows users do decide if they want to copy symlinks from original folder as new folders or just copy the symlink.
- added 'excludeHiddenUnix' to let users exclude hidden files during copy (only on Unix).