User crud

Basic functionality is there now -- needs some more tests and UI work.