Move BeakerLibProcess out of BeakerLibPlugin

This allows reusing the code elsewhere
test_integration: Add log collection to Host

This allows collecting logs when a test context is not available.
test_integration: Set up CA on replicas by default

For complex topologies the CA needs to be available on most
replicas, since only servgers with a CA can prepare replica files.
Add more test tasks

- install_client
- connect_replica
- disconnect_replica
- prepare_host
- kinit_admin
Add install_topo to test tasks

This allows a cluster of replicas and clients to be installed
in a named topology.
Several named topologies are available (star, line, complete, tree,
tree2) and new ones can be defined as a simple function.
Add the ipa-test-task tool

This script makes common testing tasks such as IPA installation
and uninstallation available outside of Python.

https://fedorahosted.org/freeipa/ticket/3721
Add tar and xz dependencies to the freeipa-tests package

The beakerLib plugin collects log files via compressed tarballs,
so these dependencies are needed
Correct default value of LDAPClient.get_entries scope argument
test_simple_replication: Wait for replication to finish before checking

Add ldap_connect() method to Host to allow executing querying LDAP from tests.

Use information in the mapping tree to poll until all replication is finished
(or failing) before checking that entries replicated successfully.
Use right function prototype for thread function

warning: passing argument from incompatible pointer type
Remove unused variable
Remove unused variable

Variable was set, but it was not used.
Change shebang to absolute path in ipa-client-automount

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