Patch #683592 revisited, after discussions with MvL:
- Implement the behavior as specified in PEP 277, meaning os.listdir()
  will only return unicode strings if it is _called_ with a unicode
  argument.
- And then return only unicode, don't attempt to convert to ASCII.
- Don't switch on Py_FileSystemDefaultEncoding, but simply use the
  default encoding if Py_FileSystemDefaultEncoding is NULL. This means
  os.listdir() can now raise UnicodeDecodeError if the default encoding
  can't represent the directory entry. (This seems better than silcencing
  the error and fall back to a byte string.)
- Attempted to decribe the above in Doc/lib/libos.tex.
- Reworded the Misc/NEWS items to reflect the current situation.

This checkin also fixes bug #696261, which was due to os.listdir() not
using Py_FileSystemDefaultEncoding, like all file system calls are
supposed to.
diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex
index b2c10f7..844704b 100644
--- a/Doc/lib/libos.tex
+++ b/Doc/lib/libos.tex
@@ -711,8 +711,8 @@
 directory.
 Availability: Macintosh, \UNIX, Windows.
 
-\versionadded[On Windows NT/2k/XP, if \var{path} is a Unicode object,
-the result will be a list of Unicode objects.]{2.3}
+\versionadded[On Windows NT/2k/XP and Unix, if \var{path} is a Unicode
+object, the result will be a list of Unicode objects.]{2.3}
 \end{funcdesc}
 
 \begin{funcdesc}{lstat}{path}