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.
Tidied documentation

- Normalized leading whitespace in function documentation
- README.md examples reflect that the password is no longer echoed to
  the terminal when entered interactively.
- Reworded some of the documentation and a couple of code comments.
Prohibit empty passwords

- Empty passwords are now prohibited by default, but this setting can be
  toggled with the "OVPNAUTH_ALLOW_NOPASS" environment variable. The
  documentation and unit tests have been updated to reflect this option.