Support IPv6 in address check lookups.

This supports IPv6 in address DNS lookups and socket bind checks. Addresses are
looked up with the system getaddrinfo(), and the v6/v4 preference of this lookup
is respected. IPv6 address literals in the config file are expected to be
bracketed in [], and the result of lookups will be bracketed as well, to support
the ZeroMQ URI format.
Unset the IPV4ONLY socket option if available.

Since IPv6 sockets support both v4 and v6 addresses, the socket option is unset
unconditionally if the parameter is available in the zmq module. The actual
decision as to which address version to use is done by the address lookup code,
which obeys the system v4/v6 preference.
Be more resilient towards missing addresses and hostname lookup failures.
Add a unit test for passing IPv6-formatted addresses to verify_socket.
IPv6 address literals should be specified without brackets in config files.
Make pkg.installed state multiple-version aware

This commit uses the "versions_as_list" kwarg that was recently added,
so that version specification works as expected for instances where more
than one version of a package is installed.

This fixes #2783.
Merge pull request #4421 from terminalmage/docs

Add docs on installing w/easy_install
Fix #4417

This adresses the root of the problem, and ensures that the single
locaded module keeps the same context, shared with the standard
loaded modules
Merge pull request #4419 from terminalmage/issue2783

Make pkg.installed state multiple-version aware
Start work on #4405

This commit adds the errors to the pillar. The next step is to have
state runs fail if errors are found in the pillar.
Fix #4405

Now states will not run if errors are detected in the pillar.
This is a module layer abstraction and is not managed in the
compiler, meaning that anyone writing higher layer access to states
need to run this check manually.

The check can be bypassed via the force=True option for the
state.highstate, state.sls and state.top functions
Fix #4323

Add a try/except block around cache lookup since the cachedir might not be there
Add check for changes to be a dict, still need to track down

the vialating state
Fix #4202

If pkg.install returns a string append it to the comment and make
sure changes is a dict
guess id from ip
fix #4429
Merge pull request #4431 from giantlock/develop

fix #4429
Merge pull request #4422 from ahammond/guess_id_from_ip

guess id from ip
Strip out ec2 specific calls pending a better more generic solution
add logging messages for id guessing