Copying files during src_install is inefficient

Currently, packages require twice their extracted size in temporary storage, which, if it's a ramdisk, could be quite memory-intensive for large packages.

Plus, the current method means it's easy to accidentally duplicate nested directories, which could bloat the installation directories of large mods.

Given that for #236 (closed) we'll need to start creating a manifest of installed files when installing, though admittedly this is for the final install into the ROOT (for a single root filesystem it's necessary so that portmod knows which files to remove when uninstalling), it might be a good idea to modify the installation function so that it moves each file one by one (merging into the destination tree in a case-insensitive manner if CASE_INSENSITIVE_FILES is set).

This, however, brings up some installation issues, as nested directories become more difficult to install.

E.g. directory Data Files, with subdirectory Data Files/Optional Larger Textures, where the latter should overwrite the former. If we move every file within Data Files when installing, this will include those in Optional Larger Textures, so installation of the optional directory will fail. If we install the other way around, then those in Optional Larger Textures will be overwritten.

I think the best way to handle this would be to detect nested directories, and skip them during installation of their parents. This should also prevent the new installation method from causing issues with the existing packages.