Added actual PAM module, updated docs, and made a few minor fixes

Once this is merged, I'll be ready to make an alpha release.
Using the exact timeout might make this test flaky. How about using some threshold?