make a bash function to use everywhere we apt-get-install (`DEBIAN_FRONTEND=noninteractive apt-get -qq -y `)

ensures the output is quiet
add a bash function ufw_allow which calls 'ufw allow' but hides its totally useless output
installing roundcube from debian would cause update from ubuntu later, now install from Ubuntu debs

We were installing .deb's from Debian. The next apt-get upgrade would cause roundcube to be upgraded.
Maybe that also triggered the installation of apache. Now install roundcube from Ubuntu. So long as
Ubuntu doesn't post an update to roundcube, at least it won't trigger an upgrade on the next
apt-get upgrade. This should also mean we don't need to purge the installation of apache2.

Also try using apt-mark hold to prevent roundcube from being updated, in case that will trigger
dependencies.
move the Dockerfile to the root to allow the working directory of the repo to be pushed inside the image (rather than inside the container getting a fresh mailinabox from github) so changes in the working copy can be tested in Docker quickly / without pushing to github
ssl: there is no need to use -des3 in key generation if we're just going to remove the passphrase

thanks @konklone for discussion
don't reject alias-only domains
Merge pull request #47 from randallsquared/master

don't reject mail to domains that only have aliases and not users
docker: if container was launched with a tty start bash otherwise loop forever to keep the container going
docker: do ADD container/docker later on so that the Dockerfile can be updated and still reuse a cached image after the major setup steps are done
docker: add some example run commands for debugging a container or having it take over host ports
docker: cleanup comments and make the installation of sshd quieter
docker: disable the ufw firewall because it is not supported in a docker container and produces a lot of error output (by reverting a510e08f9e3b2714019dc7832b1bd7b7eae4ba6c and setting an environment variable)
dns: missing dependency on bc
don't ask the user to create an email account if the shell is non-interactive and provide a better default for the domain name
docker: re-run the start script on the container's first run because it won't know its hostname or IP address until then