Use getpass so password is not echoed

- When stdin is a terminal, getpass is used to prevent the password from
  being echoed as it is typed.
- Fixed a typo, removed no-op code, and the makefile includes
  dependencies on the source files so make rebuilds the binary only when
  the time stamp has changed.