Modernise ncm pam

Brings ncm-pam up to modern standards, including use of CAF::FileWriter, some unit tests and a large overhaul of the documentation to reflect how it is actually used.
can we have some content checks as well? basic things if enough i guess
```
like($fh, qr{someregexp}, "description of what the regexp is supposed to test/match");
```