don't add unicode paths to sys.path

on Python 2

causes unicode warnings comparing unicode to str when non-ascii
add prefer_stream arg to utils.encoding.getdefaultencoding

sometimes the stream encoding should be ignored,
and start with locale (e.g. Popen on Windows Python 2).

Default behavior is unchanged.
Popen doesn't support unicode args on Windows Python 2
unicode sadness on Windows in the submodule check
fix line/statys typo in utils.submodule
Merge pull request #4849 from minrk/unicode-is-the-devil

Various unicode fixes (mostly on Windows)