do not log password

This is trickier than it may first appear. We can't just filter the
password from os.Args, since that would require recreating the flag
parsing logic, which allows flags to be specified in a wide variety of
formats. And there is no API for calling that logic either.

So instead we log the results of the flag parsing, eliding the
password, and using a straight golang map for formatting (so we don't
have to get creative).

Closes #275.