Allow primary keys to use different type than unicode.

Also return list of primary keys instead of a single unicode CSV value from
LDAPDelete-based commands.

This introduces a new capability 'primary_key_types' for backward
compatibility with old clients.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
Support API version-specific RPC marshalling.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
Replace get_syntax method of IPASimpleObject with new get_type method.

get_type returns the Python type for an LDAP attribute.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
Use raw attribute values in command result when --raw is specified.

For backward compatibility, the values are converted to unicode, unless the
attribute is binary or the conversion fails.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
Keep original name when setting attribute in LDAPEntry.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
test_integration.host: Export the hostname to dict as string

Our tests do strict type-checking, using unicode string causes failures.

Reviewed-By: Tomas Babej <tbabej@redhat.com>