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

- Removed integration tests which are covered by new tests.
- Disabled tests on Drone for same reason as 07cedaab8640a68c480cb90722cb08fcf0a2c043

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
- Add DOCKER_AUTH_{CERT,KEY,CA} envvars for configuring cert auth.
- 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>
Update auth flags and documentation

- Change allowed-hosts to known-hosts since known hosts is a more familiar concept than allowed hosts for similar functionality
- Add deprecation warning to old tls flags
- Use dash for key files instead of underscore for consistency with other key files

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Create public key file along with private key

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Add support for authorized key directory

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Add note to docs about deprecated options

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Remove flag and reference to authorized keys file

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

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Add commas to list of extensions

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Correctly document new auth environment variables

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Rename HTTPS docs to authentication

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
add redirect for https docs to authentication

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
Use path/filepath instead of path (for Windows)

the code is using path.Split, path.Join etc. instead of filepath.Split, filepath.Join. path assumes '/' separators, but Windows of course uses '\'. Talk about the gift that keeps on giving...I've been fixing bugs like this in portable code since 1983.

See https://github.com/docker/machine/issues/76
Merge remote-tracking branch 'pullrequest/tls_libtrust_auth'