Monkey patch FileUtils.mv in Ruby 1.8.5
The FileUtils.mv method in Ruby 1.8.5 can't mv directories across
devices. File.rename causes "Invalid cross-device link" errors, which
is rescued, but in Ruby 1.8.5 it tries to recover with a copy and
unlink, but the unlink causes the error "Is a directory". In newer
Rubies remove_entry is used, so the implementation in this patch is
what's used in Ruby 1.8.7 and Ruby 1.9
This was an issue in installing modules using puppet module install
since the module is extracted to a temporary directory and then moved to
the modulepath.