use /dev/random for crypto-grade RNG with the help of haveged

Rather than pass `-r /dev/random` to ldns-keygen (it was `-r /dev/urandom`),
don't pass `-r` at all since /dev/random is the default.

Merges branch 'master' of github.com:pysiak/mailinabox
also accept Ubuntu 14.04.1 LTS, the point release that people are automatically pushed to

fixes #116
the cron job to re-sign DNSSEC zones was still not working because the script needed a hash-bang line; what I did in 65c3a44e63b24c1d428bd0a53c9f6b6b34a6a858 didn't actually fix the problem
handle errors in management API calls properly

see #118
run network checks during setup and stop if there is a bad condition

* check that the PUBLIC_IP is not listed in zen.spamhaus.org
* check that the PRIMARY_HOSTNAME is not listed in dbl.spamhaus.org
* check that a connection to Google's MTA is working (i.e. we're not on a residential network that blocks outbound port 25)
the SSL private key would be overwritten if ssl_certificate.pem file was deleted; maybe the cause of #98
allow for network checks to be skips in setup while testing using SKIP_NETWORK_CHECKS=1
have nsd bind to the network interaface that is connected to the Internet, rather than all non-loopback network interfaces

hopefully fixes #121; thanks for the help @sfPlayer1
put a 15-second timeout in asking icanhazip.com for our IP address, although this limit does not seem to actually work (i.e. if I set the limit to 5 seconds, curl still hangs 10+ when I turn off my network connection)
dont ask the user for the machine's IP address if we can be sure our guess is right (trust icanhazip to give us the right answer)
add a --force flag to dns_update
whats_next: offer DNSSEC DS parameters rather than the full record and in validation allow for other digests than the one we suggest using

fixes #120 (hopefully), in which Gandi generates a SHA1 digest but we were only checking against a SHA256 digest

Also see http://discourse.mailinabox.email/t/how-to-set-ds-record-for-gandi-net/24/1 in which a user asks about the DS parameters that Gandi asks for.
after creating the local encrypted backup, execute the after-backup script if the user has provided one to copy the files to a remote location
avoid mail.log warnings about untrusted certificates on outgoing mail, fixes #124
add reject_unlisted_recipient before greylisting, fixes #127
migrate the migration state from MIGRATIONID in /etc/mailinabox.conf to STORAGE_ROOT/mailinabox.version so that the data format of STORAGE_ROOT is stored in the directory itself
if the machine didn't have resolvconf before (my box didn't after an upgrade from Ubuntu 13.xx), make sure it has it now and archive any old resolv.conf since it should now only list 127.0.0.1 for bind9
make a privileges column in the users table and mark the first user as an admin
create the Drafts folder for users so K-9 mail doesn't poll unnecessarily, see #129
increase dovecot imap_idle_notify_interval to 4 minutes

Doesn't seem like 2 minutes is a problem, but 4 minutes seems better. A little less bandwidth, possibly less battery usage (though we don't have evidence that's actually true), and the interval should be shorter than any peer timeouts that might occur due to inactivity

fixes #129