many installer fixes for Debian #10
Fix a bug where the exit code in run() wound up as "Exit code 0", which would totally not be an error if it hadn't been stringified, and generally try to make that logic sane.
Take out the run(... stdin => 1) debugging we were doing with mkdir.  Silly that we run mkdir via shell.  We really need run()-like error handling but for closures we pass in.
Specify the bash shell on Debian so it doesn't default to dash because I don't understand what the everloving heck dash is trying to do when I try to type stuff at it.
Misc text improvements.
Don't attempt to create the MySQL database for the site if it already exists, but do warn the user that we're fixin' to clobber their data.
Instead of doing a git checkout, fetch the .zip from github.  Hopefully this is less abusive, and anonymous checkouts can't really be used to commit and push stuff back without changing the origin anyway.
But don't download the zip if we already have one.
Remove the --silent options from curl.  Gives the user something to look at.  Downside, spams them and after a few seconds, the message saying what it is trying to do is gone.
Mark various other run() tasks to be noprompt.  The user doesn't need to decide if installing IO::Tty is too dangerous to accept.
More sanity checking on writing webgui.sh when I couldn't find where it was writing webgui.sh because it put it in $install_dir, not $install_dir/WebGUI.
At this point, this bastard runs on Debian 7.6 64 bit starting from a 'desktop' install.  I likely broke CentOS support in the process.