EBox::Samba::LdbObject inherites from EBox::Users::LdapObject
Raise an exception if the dn we got is not a valid parent
Extended the API to map from ldb to ldap objects. Simplify OUs handling. First set of fixes for s4sync (WIP)
added common API to retrieve basic data for Users and Contacts in SAMBA
Updated s4sync to handle OUs and contacts sync. Removed configuration key 'treat_contacts_as_users'. We handle now Contacts and distribution groups natively.
Merge branch 'master' into cperello/s4sync-fixes

Conflicts:
	main/samba/ChangeLog
	main/users/ChangeLog
Merge branch 'master' into cperello/s4sync-fixes
Added basic class test for Samba. Start sharing code between EBox::LDAP and EBox::LDB
Added the function EBox::declared to check whether a constant is declared or not in a package.
Created a common class for EBox::LDB and EBox::Ldap and moved there the common code
Added missing ChangeLogs and fixed typos
Load the new objectclass to link Samba's objects with OpenLDAP objects
Retrieve by default the objectGUID and entryUUID fields on LDB and OpenLDAP
Discard the Net::LDAP::Entry object and force a refresh if it's missing the entryUUID (OpenLDAP) or objectGUID (SAMBA) attribute
Fixed a typo
Added _linkWithUsersEntry && _linkWithUsersObject and called for every Samba object created from the users module, so we have a direct link between objects.
Merge branch 'master' into cperello/s4sync-fixes

Conflicts:
	main/samba/ChangeLog
preAdd callbacks get a second argument noting the parent when this new object will be created.
Added objectByObjectGUID to retrieve an LDB object from its LDAP replica. Made intense use of the mapping LDAP <-> LDB using the objectGUID instead of the DN calculation
Fixed a method that was a class previously