Add locked state for user module, beginnings of integration test

This branch adds implementations for locking user accounts across systems, but returns an error for all but Generic (Linux) systems, since I'm not able to test the others. Guided by #2211.

It also has basic tests for creating and deleting a user.

Lastly, there's a skipped test that would check for a locked password, but I'm unconvinced that that is necessary once you've expired the account.