Replace use of force_str by force_text

This fixes #422
Build random path using os.path.join
Disallow copying folders to self

This fixes #421