add support for command line arguments, functions to load or save oauth
credentials, basic exceptions and some clean up w.r.t. building client