Enable TLS by default and add UI for client/daemon auth

Turns on TLS by default and uses public keys to authenticate access.

- This PR still may require further testing and input on the user experience.
- FSNotify support has not been added to detect changes to authorized_keys
- Implementation of proposal from #7667

@bfirsh please review and comment on whether this is missing anything needed
My fear is making large changes to the TLS options is that it expands what is already a big change to user experience.  Although perhaps it is best to bunch the changes together.  Either way do you think its best to discuss the best way to update the documentation first then ensure the implementation matches before merge?