unix: Fix path seperator used depending on OS

';' is the standard seperator used for paths in environment variables on Windows
Merge pull request #662 from stinos/windows-pathsep

unix: Fix path seperator used depending on OS
Add PEP 393-flags to strings and stub usage.

The test suite all passes, but nothing has actually been changed.
Update comments - now aiming for UTF-8 rather than PEP 393 strings
Beginnings of UTF-8 support - construct strings from that many UTF-8-encoded chars, and subscript bytes the same way
objstr: Record character length separately from byte length

CAUTION: Buggy, may crash stuff - qstr needs equivalent functionality too
HACK - When indexing a qstr, count its charlen. Stupidly inefficient but POC.

All tests pass now, though string creation is still buggy.
Make len(s) return character length (even though creation's still buggy)
Add test of UTF-8 encoded source file resulting in properly formed string
Add character length to qstr
Add support for \u and \U escapes, but not \N (with explanatory comment)
Retain characters as UTF-8 encoded Unicode
Make ord() Unicode-aware
Record byte lengths for byte strings
Expand the Unicode tests