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
Merge pull request #423 from bikeshedder/develop

Fix encoding issues and endless recursion