Integrate realmdomains with IPA DNS

Add an entry to realmdomains when a DNS zone is added to IPA.
Delete the related entry from realmdomains when the DNS zone is deleted
from IPA.

Add _kerberos TXT record to DNS zone when a new realmdomain is added.
Delete _kerberos TXT record from DNS zone when realmdomain is deleted.

Add unit tests to cover new functionality.

https://fedorahosted.org/freeipa/ticket/3544
Update only selected attributes for winsync agreement

Trying to insert nsDS5ReplicatedAttributeListTotal and
nsds5ReplicaStripAttrs to winsync agreements caused upgrade errors.
With this patch, these attributes are skipped for winsync agreements.

Made find_ipa_replication_agreements() in replication.py more
corresponding to find_replication_agreements. It returns list of
entries instead of unicode strings now.

https://fedorahosted.org/freeipa/ticket/3522
Require new samba and krb5

Require samba 4.0.5 (passdb API changed). Make sure that we use the
right epoch number with samba so that the Requires is correctly
enforced.

Require krb5 1.11.2-1 to fix missing PAC issue.

Also fix backup dir permissions.
Become 3.2.0 Beta 1
Use correct zone when removing DNS records of a master.

https://fedorahosted.org/freeipa/ticket/3563
Improve help text for HBAC service groups

Remove the part of help text for HBAC service groups which contains
an example suggesting that nested groups are supported. Nested
groups are not supported in HBAC service groups.

https://fedorahosted.org/freeipa/ticket/3548
Do not sort dictionaries in assert_deepequal utility function

Sorting lists of dictionaries in assert_deepequal was causing inconsistencies
in unit test execution. To fix this, do not sort lists if their elements are
dictionaries.

https://fedorahosted.org/freeipa/ticket/3562
Use two digits for each part of NUM_VERSION

https://fedorahosted.org/freeipa/ticket/3545
Handle missing /etc/ipa in ipa-client-install

Make sure /etc/ipa is created and owned by freeipa-python package.

Report correct error to user if /etc/ipa is missing during client installation.

https://fedorahosted.org/freeipa/ticket/3551
Fix the spec file

Correct ownership for /etc/ipa and remove unnecessary %config directive.

https://fedorahosted.org/freeipa/ticket/3551
Add hint message about --force-join option when enrollment fails

When client enrollment fails due to the fact that host entry
already exists on the server, display an message informing the
user about the possibility of using --force-join option.

https://fedorahosted.org/freeipa/ticket/3572
Avoid removing sss from nssswitch.conf during client uninstall

This patch makes sure that sss is not removed from nsswitch.conf
which causes probles with later uses of sssd. Makes sure that
authconfig with --disablesssd option is not executed during
ipa client uninstall.

https://fedorahosted.org/freeipa/ticket/3577
Add DNS records for existing masters when installing DNS for the first time.

https://fedorahosted.org/freeipa/ticket/3564
Add ipa-ca records for existing CA masters when installing DNS for the first time.

https://fedorahosted.org/freeipa/ticket/3564
Handle socket.gethostbyaddr() exceptions when verifying hostnames.

Log any socket exceptions raised and let the process continue. This
failure isn't a show-stopper. Other checks past this will catch any
other problems.

This was seen when /etc/hosts and /etc/resolv.conf were both empty.

https://fedorahosted.org/freeipa/ticket/3581
Do not display an interactive mode message in unattended mode

https://fedorahosted.org/freeipa/ticket/3576
Add missing permissions to Host Administrators privilege

The 'Host Administrators' privilege was missing two permissions
('Retrieve Certificates from the CA' and 'Revoke Certificate'), causing
the inability to remove a host with a certificate.

https://fedorahosted.org/freeipa/ticket/3585
Allow underscore in record targets

Makes record target validation less strict and allows underscore.
This is requirement for IPA sites.

https://fedorahosted.org/freeipa/ticket/3550
Make gecos field editable in Web UI

This patch exposes user entry gecos field in Web UI.

https://fedorahosted.org/freeipa/ticket/3569
Add userClass attribute for hosts

This new freeform host attribute will allow provisioning systems
to add custom tags for host objects which can be later used for
in automember rules or for additional local interpretation.

Design page: http://www.freeipa.org/page/V3/Integration_with_a_provisioning_systems
Ticket: https://fedorahosted.org/freeipa/ticket/3583