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
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
Improvements to clarity and readability. New YAML page, currently unlinked.
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.
Merge pull request #10405 from cachedout/getting_started

Improvements to clarity and readability.
folow pattern for checking POLLIN
DRY socket polling/recv