Make it cope with passwords

Providing a password_option variable to the database drivers that allows
us to specify anything to add to the environment, arg list or stdin of
the process.

The password_option also allows us to specify file_contents that are
placed in a temporary file that may be referenced by anything else as
PASSWORD_FILE

For psql I set the PGPASSFILE environment variable to a temporary file
that contains the password

For mysql I set --defaults-extra-file to a file that contains options
for the password.

I wanted to just pass in the password as stdin to mysql, but that would
require pexpect, because it listens to the terminal rather than stdin.

Also, apparently -- options in mysql require an = sign.

Many thanks to thumbs in the mysql irc channel for helping me get mysql
passwords to work.