idviews: Handle Default Trust View properly in the framework

Make sure that:
1.) IPA users cannot be added to the Default Trust View
2.) Default Trust View cannot be deleted or renamed

Part of: https://fedorahosted.org/freeipa/ticket/3979
idviews: Make sure the dict.get method is not abused for MUST attributes

Part of: https://fedorahosted.org/freeipa/ticket/3979
idviews: Catch errors on unsuccessful AD object lookup when resolving object name to anchor

When resolving non-existent objects, domain validator will raise ValidationError. We need
to anticipate and properly handle this case.

Part of: https://fedorahosted.org/freeipa/ticket/3979
idviews: Display the list of hosts when using --all

Enumerating hosts is a potentially expensive operation (uses paged
search to list all the hosts the ID view applies to). Show the list
of the hosts only if explicitly asked for (or asked for --all).
Do not display with --raw, since this attribute does not exist in
LDAP.

Part of: https://fedorahosted.org/freeipa/ticket/3979
WIP: support idviews in compat tree
Increment OID for ipaOverrideTarget, its OID is taken by ipaAssignedIDView
Change location and target of permission for Compat Tree ID View targets
webui: improve breadcrumb navigation

Fixes issue when:
- user navigates to a nested facet
- refreshes browser
- uses breadcrumb navigation to go to parent entity page which requires a pkey. E.g. from automount keys to maps.

The old code relies on the facet, that user visited the parent facet before and therefore the facet has pkey stored. It fails after the browser reload.

Allows to specify a containing_facet. It allows breadcrumb navigation to return to a different facet than the 'default'.
webui: treat value as pkey in link widget

Current default mechanism of a link widget assumes that pkeys of a current facet are pkeys for the link. It works for the only usage - in password policy. It's rather inflexible since it can't be used if the keys are in other attribute. This behavior is also bad in nested entities - creates a link to itself which is pointless.

This patch changes the default behavior to assume that the supplied value are the pkeys and that the last pkey is the value to display.

It also keeps the old method of overriding `other_pkeys` method so if the last and only pkey is the actual value to display then the method can tranform it into the pkeys which keeps compatibility with descendant widgets (`host_dnsrecord_entity_link_widget`, `dnsrecord_host_link_widget`).
webui: do not show internal facet name to user
webui: allow to skip link widget link validation
webui: add simple link column support

Usual link columns are link with primary key of current entity.

This patch allows to create a link to arbitrary non-nested entity.
webui: new ID views section

https://fedorahosted.org/freeipa/ticket/4535
webui: facet group labels for idview's facets

https://fedorahosted.org/freeipa/ticket/4535
webui: list only not-applied hosts in "apply to host" dialog

https://fedorahosted.org/freeipa/ticket/4535
webui: add link from host to idview

https://fedorahosted.org/freeipa/ticket/4535
extdom: add support for new version

Currently the extdom plugin is basically used to translate SIDs of AD
users and groups to names and POSIX IDs.

With this patch a new version is added which will return the full member
list for groups and the full list of group memberships for a user.
Additionally the gecos field, the home directory and the login shell of a
user are returned and an optional list of key-value pairs which
currently will contain the SID of the requested object if available.

https://fedorahosted.org/freeipa/ticket/4031