3871: Encode/decode file and directory names to UTF-8
3871: Pass on UnicodeEncodeError.  Don't return those entries in the directory
listing because the user won't be able to access them anyway.  Add --encoding
parameter to command line to allow the user to specify desired filesystem
encoding.
Merge branch '3871-non-ascii-project-names' closes #3871