webui: allow --force in dnszone-mod and dnsrecord-add

Allow to use --force when changing authoritative nameserver address in DNS zone.

Same for dnsrecord-add for NS record.

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: make Evented a part of base IPA.object

1. All framework objects to use event interface
2. Framework objects can be part of specification objects but they are not deep-cloned as the rest of specification objects - usually it would cause infinite loop. This make easier to add context as a $pre-op object without a need for $pre-op function.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: change order of idview's facet groups

Applied to hosts facet should not be default because, e.g., for Default Trust View it shouldn't be even visible(o use).

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: hide applied to hosts tab for Default Trust View

because applying Default Trust view on hosts is not allowed

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: hide (un)apply buttons for Default Trust View

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: do not offer ipa users to Default Trust View

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
Bump 4.2 development version to 4.1.99

Reviewed-By: Martin Kosek <mkosek@redhat.com>
tests: Use PEP8-compliant setup/teardown method names

The setUp/dearDown names are used in the unittest module, but there is no reason
to use them in non-`unittest` test cases.
Nose supports both styles (but mixing them can cause trouble when
calling super()'s methods).
Pytest only supports the new ones.
tests: Add configuration for pytest

By default, pytest considers test classes only if they're named
'Test*'; Nose also allows 'test_*'.
Configure pytest to allow the non-pep8 names as well.
ipatests.util.ClassChecker: Raise AttributeError in get_subcls

Pytest considers NotImplementedError on attribute access an error.
test_automount_plugin: Fix test ordering

Nose ran the `test_a_*` and `test_a2_*` tests in opposite order
than the source suggested. Fix this.
Use setup_class/teardown_class in Declarative tests

Pytest will consider each Declarative test individually, running
setup/teardown for each one.
Move the setup and teardown to the class level.
dogtag plugin: Don't use doctest syntax for non-doctest examples
Configure pytest to run doctests
Declarative tests: Move cleanup to setup_class/teardown_class
Declarative tests: Switch to pytest

Provide a local pytest plugin to generate tests.

The Declarative tests can now only be run with pytest
Integration: Port the ordering plugin to pytest

Ordered integration tests may now be run with pytest.
test_webui: Don't use __init__ for test classes
Switch make-test to pytest

The unused capability to run on multiple Python versions is removed,
and needed arguments are now listed in pytest.ini,
leaving just a simple call to the actual test runner.
Add local pytest plugin for --with-xunit and --logging-level

The --with-xunit option ihas the same behavior as in nosetests:
it's an alias for pytest's --junitxml=nosetests.py

The --logging-level option enables direct IPA logging to stdout.