Make --tlsverify enable tls regardless of value specified

I also needed to add a mflag.IsSet() function that allows you to check
to see if a certain flag was actually specified on the cmd line.

Per #9221 - also tweaked the docs to fix a typo.

Closes #9221

Signed-off-by: Doug Davis <dug@us.ibm.com>
Merge pull request #9259 from duglin/Issue9221

Make --tlsverify enable tls regardless of value specified
Add trust key creation on client

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Add default TLS using engine keys

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Update https documentation

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Fail integration CLI tests if daemon exits

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Add cli tests for existing TLS behaviour

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Fix comment formatting

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Move default flag values to flags.go

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Add auth option to switch between auth methods

- Can switch between "identity", "cert" and "none"
- Replaced --insecure with --auth=none
- Moved logic to generate TLS configs to separate auth files
- Renamed --tlscert -> --auth-cert
- Renamed --tlskey -> --auth-key
- Renamed --tlscacert -> --auth-ca
- Added backwards compatibility for --tls... options. The existing tests
  for this have been left to ensure correct behaviour.

The DOCKER_CERT_PATH environment variable has been disabled for these
new options. Changing behaviour on whether files exist in the default
location (~/.docker/cert.pem, etc) seems dangerous if these files
are accidentally missing. This option was added in the first place to
make boot2docker work with cert auth, but now we have identity auth,
this is unnecessary.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Make the default authentication type 'none' to match existing behavior

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Display output from daemon when it fails to start

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Add environment vars to configure new cert auth

This will allow boot2docker to replace DOCKER_CERT_DIR and
DOCKER_TLS_VERIFY with DOCKER_AUTH.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Change allowed_hosts to known_hosts

Known hosts is a more familiar concept than allowed hosts for similar functionality.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Fix auth flag initialization

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Add deprecation warning to old tls flags

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Add auth flag to man page

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Disable auth CLI tests on Drone

They're failing for the same reason as 07cedaab8640a68c480cb90722cb08fcf0a2c043

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Add integration tests for identity auth

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Don't use DOCKER_CERT_PATH for identity auth

DOCKER_CERT_PATH is deprecated, and it is surprising if your
identity file moves around depending on an environment variable
that implies it is just for certificates.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>