refactor: extract functions .create.project.new and .copy.project.files
allow creating a project in existing directory; in this case, contents of the target directory are checked for items that will be overwritten
robustness for case-insensitive file systems by using file.exists
return nothing, as advertised
new parameter merge.existing

non-conflicting files in target directory are permitted only if merge.existing is TRUE
add details
Roxygenize
ChangeLog
refactor nested if-s