IPA: Use function sysdb_attrs_get_el in safe way

Function sysdb_attrs_get_el can enlarge array of ldb_message_element in "struct
sysdb_attrs" if attribute is not among available attributes. Array will be
enlarged with function talloc_realloc but realloc can move array to another
place in memory therefore ldb_message_element should not be used after next
call of function sysdb_attrs_get_el

    sysdb_attrs_get_el(netgroup, SYSDB_ORIG_MEMBER_USER, &user_found);
    sysdb_attrs_get_el(netgroup, SYSDB_ORIG_MEMBER_HOST, &host_found);
With netgroups, it is common to omit user or host from netgroup triple.
There is very high probability that realloc will be called. it is possible
pointer user_found can refer to the old area after the second call of function
sysdb_attrs_get_el.

Resolves:
https://fedorahosted.org/sssd/ticket/2284

Reviewed-by: Sumit Bose <sbose@redhat.com>
AD: connect to forest root when downloading the list of subdomains

https://fedorahosted.org/sssd/ticket/2285

Only the forest root has the knowledge about all the domains in the
forest, the forest leaves only see themselves and the forest root.

This patch switches to connecting to the forest root for downloading the
trusted domains instead of the server we are connected to.

Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Reviewed-by: Sumit Bose <sbose@redhat.com>
Implemented LDAP component of GPO-based access control
gpo smb implementation WIP
use libini_config to perform utf-8 conversion
Initialize libini_config with memory buffer (instead of file)
refactored into ad_gpo_cse_send/recv; added comments
gpo_child checkin