Add identity-based TLS auth and UI for client/daemon auth

Add identity-based TLS authentication and use public keys to authenticate access.
This is an implementation of the proposal from #7667.

FSNotify support has not been added to detect changes to authorized keys but may be added in a follow up PR.

Not sure the history of why it was coded up this way, but you are right, it should just be able to check the does not exist error directly on the LoadX509KeyPair return value.