[Most of] variables quoted to allow multi-word warning messages, spaces in file/directory names, etc.
be more ignorant

ignore vim swp files. May be especially important when those sneak into
released packages, such as in the case of 1.0.1:

    concat/manifests/.setup.pp.swp
    concat/manifests/.init.pp.swp
    concat/manifests/.fragment.pp.swp
    concat/files/.concatfragments.sh.swp
    concat/spec/acceptance/.warn_spec.rb.swp
    concat/spec/acceptance/.symbolic_name_spec.rb.swp
    concat/spec/acceptance/.order_spec.rb.swp
    concat/spec/acceptance/.fragment_source_spec.rb.swp
    concat/spec/acceptance/.deprecation_warnings_spec.rb.swp
    concat/spec/acceptance/.empty_spec.rb.swp
    concat/spec/acceptance/.concat_spec.rb.swo
    concat/spec/acceptance/.replace_spec.rb.swp
    concat/spec/acceptance/.basic_spec.rb.swp
    concat/spec/acceptance/.deprecation_warnings_spec.rb.swo
    concat/spec/acceptance/.concat_spec.rb.swp
    concat/spec/acceptance/.backup_spec.rb.swp
Added double quotes to paths in concat command, so that it does not fail when path of target file contains some blanks.
Use explicit undef in else case

This is better than leaving it "unset".
Merge pull request #155 from PierreR/patch-1

Use explicit undef in else case
Merge pull request #147 from igalic/ignorance

be more ignorant
Merge pull request #150 from lweller/issue_149

added double quotes to paths in concat command
Merge pull request #121 from acca301/master

[Most of] variables quoted to allow multi-word warning messages, spaces ...