Add logging and an initial test file

The first commit contains the logging implementation, and the second commit contains the generated files along with client_test.py, which doesn't do much yet.