Trash collection for a directory hierarchy

The purpose of collectfs is to protect a project hierarchy by providing a fairly universal no-clobber mechanism:
- The history of changes is preserved.
- Missteps in using rm, mv, cat, etc are non-permanent.
- It works seamlessly with standard development tools.