Add support for dummy certificates to `sslmate download`

Specifically, `sslmate download` won't raise an error if the cert
isn't ready but a dummy cert is installed.
Add --batch and --email options to `sslmate buy`

These options can be used to buy certificates non-interactively.
Add --batch and --email options to `sslmate import`
Add --batch option to `sslmate renew`
Ask server to generate the DN for CSRs

This allows the server to include all relevant fields based on
account contact information.
Only save API credentials to config if `sslmate link` is run

If the config doesn't contain API credentials and a command besides
link is run, the user is still prompted for username and password,
but the API credentials are NOT stored in the config.  This change
is being done to avoid a potential surprise that API credentials
(which are security-sensitive) have been permanently stored on the
filesystem.
Add missing colon in error messages
Support key rollover in `sslmate download`

If a key file named ${CN}.key.new exists, first try to download
a certificate matching its public key.  If a certificate is found,
install it, and rename ${CN}.key.new to ${CN}.key in the process.

In the future, this will allow a new key to be generated by
`sslmate reissue` but not installed until its certificate has been
reissued by the certificate authority.

If no ${CN}.key.new file exists or it exists but no certificate
matches it, `sslmate download` works as it did previously.
Write a helper function for writing cert files
Improve file overwriting logic in buy, reissue, renew

The logic is now:

  * buy: files are never overwritten unless the --force option is used
    (as now).

  * reissue: the new key is written to CN.key.new (it's an error if this
    file already exists and --force is not used).  Existing key and cert
    files are overwritten only once the reissue completes successfully,
    ensuring that there isn't a period when a new key is installed but
    not new certs.

  * renew: existing .crt files are overwritten when the renewal completes
    successfully.  The .key file is never touched.  The --force option has
    no effect.  If a .key file is present, the hash of its public key is
    sent to the server to ensure the server renews the correct certificate
    and hence returns a certificate corresponding to the correct key
    (similar to download).

This logic is meant to be more user-friendly and to facilitate key
rollovers with `sslmate reissue`.  The code is also simpler and
shorter now.
Add --no-wait option to buy, reissue, and renew

If this option is specified, the command returns immediately instead of
waiting to download the cert.  The cert must be downloaded later with
the `sslmate download` command.
Place --coupon option at end of usage messages
Document new options in man page
Version 0.5.0
Merge tag '0.5.0' into debian

Version 0.5.0

# gpg: Signature made Wed Nov  5 15:02:37 2014 PST
# gpg:                using RSA key 0x426F7E4DB60BBFB8
# gpg: Good signature from "SSLMate Software Release Role <software@sslmate.com>" [ultimate]
# gpg:                 aka "SSLMate package signing key <packages@sslmate.com>" [ultimate]
Update debian/changelog for 0.5.0-1