Convert plFileName to "has-a" model for better semantics.

You're welcome, branan ;)
Add plFilesystem module, which replaces previous filesystem APIs with a plFileName-based one
Replace hsStream::Open duplicated methods everywhere with a single plFileName interface
More efficient form for PyString_AsStringEx
Fix issues from review