Add unit tests to user-api-client

These are the unit tests for user-api-client.

After creating the tests and making sure they work, I took the chance to switch this code over to using the builder pattern that I used in seagull-client as well.  I like the code a lot better.

@kentquirk @jh-bate Please merge at will.