Move most code in Role::Reader to PP

There's very little actually shared between PP and XS
Not using tempdir in this test
Small formatting tweak
Improve test descriptions