Add beginnings of user endpoint based on @royboy789's work

Works; incomplete; no unit tests.