Here is a first patch that tries to make pathlib Python 2 compatible (and still working on Python 3).
There are still a few problems:
I had to manually disable test_as_bytes_common, because unittest.skipIf(sys.version_info < (3, 2), 'reason') didn't work;
tempfile.TemporaryDirectory has been introduced in version 3.2, and tempfile.mkdtemp isn't exactly the same (cleanup missing). I didn't replaced it, for now this test fails;
* Comparison between PureNTPath and PurePosixPath fails (it should raise TypeError, while it does not). This is due to this line:
if self._flavour is not other._flavour:
On Python 3.2 it evaluates to True, while on Python 2.7 it evaluates to False. I don't know the reason.
I notice now that on line 593 it uses os.fsencode, which has been introduced in Python 3.2, I'll fix that in the next patch.