use better func name
ignore coverage file
refactor mustHomedir and Default client a little

It is hard to test things that call os.Exit via log.Fatal from library
code. So I rewired a little to return errors back to the calling program
 which can then exit.