Adding pki eauth

Addresses issue #7791.

The code has been tested in isolation but I had some challenges writing the unit tests. I don't have a ton of time right now so instead of sitting on it, I'm raising this pull request.

The uses I have in mind for this are for remote clients of salt (e.g. Halite or some system that uses salt-api).