Use the existing pubkey for the sign in payload

Rather than making a temp file to save out the public key just to read
it back in to give to the master for sign in, we can just read the
existing public key file that was just created.
Clean up ready for new code
A roadmap on what we're going to attempt here.
Proof of concept version
Abstract as much as possible in to a class that doesn't rely on querying the database, to make testing less painful.
Fixes for late night coding bugs
Sort keyword args so that the tests are saner.
Test cases
Support for coercing dicts to lists.

Specify fields to be hit with dict.values()
Fixes for config, pep8 and ext_pillar
Proper docs
Merge remote-tracking branch 'upstream/develop' into sam_raet_4
Simplify __virtual__function
Remove needless regex checks

Using socket.inet_pton() is more efficient, and less error prone, than
using regexes.
Alias lowercase versions of functions
Log dig command output at debug
Make dig.SPF recurse include and redirect entries
Reorganized packet to better support encrypt/decrypt nacl
Added tests for nacling.py
Fixed unit tests

Had to skip two tests because I don't know how to mock properly when
recursion is involved.

Also made some PEP8 fixes.
Adds support for updating cached git repo url.
Fixes #10408