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.
General Apt-Sources fixes

These are some sanitization fixes to help make apt-sources
management better.  The basic principal is to not "configure" the
source if the source already exists.

Some format validation for PPA expansion added.
Fixes for empty sources list and strip on "line"

For matching purposes (repo configured) the "line" property needs
an explicit strip() called as it can end up with a \n in the line
itself.

Empty sources error was due to an erroneous check to see if we had
any repos (assumption was made we had some).  Since this not always
true, the superflous check has been eliminated.
added 'SUSE  Enterprise Server'
SLES uses /sbin/service and /sbin/chkconfig too.
Fixed double dashes in default minion swarm names
Merge pull request #4494 from whiteinge/ms-dashdash

Fixed double dashes in default minion swarm names
adding primitiv git module functions for handling remotes

functions added:
  * git.remotes
  * git.remote_get
  * git.remote_set
extend git.latest state with remote handling - don't trust origin

because the name of git.latest is the repository where the target shut be based on.
I think it is importent that this state does handle remotes correctly and forces them.
Merge remote-tracking branch 'upstream/develop' into develop
fix spell and description of git.latest remote_name
Merge pull request #4491 from aboe76/rh_service_suse

added 'SUSE  Enterprise Server' to rh_service.py
Merge remote-tracking branch 'upstream/develop' into develop
fix string format on git module&state for python2.6
Import sed_contains from file.py in win_file.py

Also fix small inconsistency in the sed escape function
Return True even if no changes in `file.sed` (fixes #4481)

Issue #4481 gives a completely valid use case for sed which results in
the `begin` pattern always being present.  `sed` should not return False
in this case.
Make module function `file.sed` return the `cmd.run_all` dict