ipatests: test_trust: Add test to cover lookup of trusdomains

Adds an integration tests that checks that all trustdomains are
able to be found by trustdomain-find command right after the
trust has been established.

Also moves some code to allow easier adding common test cases for
both POSIX and non-POSIX test classes.

https://fedorahosted.org/freeipa/ticket/4208
ipalib: idrange: Make non-implemented range types fail the validation

The ipa-ipa-trust and ipa-ad-winsync ID Range types were allowed to
pass the validation tests, however, they are not implemented nor
checked by the 389 server plugin.

https://fedorahosted.org/freeipa/ticket/4323
ipaldap: Fallback to string if datetime conversion went wrong

Our datetime conversion does not support full LDAP Generalized
time syntax. In the unsupported cases, we should fall back
to string representation of the attribute.

In particular, '0' is used to denote no value of LDAP generalized
time attribute.

https://fedorahosted.org/freeipa/ticket/4350
trusts: Validate missing trust secret properly

Detect the situation if the user passes empty trust secret and
error out properly.

https://fedorahosted.org/freeipa/ticket/4266
adtrustinstance: Use normalized DNS records for default first site

Due to the recent changes of DNS validation, the framework no longer
allows addition of DNS records that contain upper-cased characters.

Change the AD-specific records we add that contain upper-cased
characters to their respective lower cased versions.

https://fedorahosted.org/freeipa/ticket/4382
trusts: Add more read attributes
trusts: Allow reading system trust accounts by adtrust agents