Make the PAM backend cache requests

Of course it doesn't work yet, but it's much clearer