Add /session/token_sync POST support

This HTTP call takes the following parameters:
 * user
 * password
 * first_code
 * second_code
 * token (optional)

Using this information, the server will perform token synchronization.
If the token is not specified, all tokens will be searched for synchronization.
Otherwise, only the token specified will be searched.

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

Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Add the otptoken-add-yubikey command

This command behaves almost exactly like otptoken-add except:
1. The new token data is written directly to a YubiKey
2. The vendor/model/serial fields are populated from the YubiKey

Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Add otptoken-sync command

This command calls the token sync HTTP POST call in the server providing
the CLI interface to synchronization.

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

Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Fix getkeytab code to always use implicit tagging.

A mixture of implicit and explicit tagging was being used and this caused
a bug in retrieving the enctype number due to the way ber_scanf() loosely
treat sequences and explicit tagging.

The ASN.1 notation used to describe the getkeytab operation uses implicit
tagging, so by changing the code we simply follow to the specified encoding.

Resolves: https://fedorahosted.org/freeipa/ticket/4404

Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Add python-yubico to BuildRequires

python-yubico needs to be on a machine to be able to build FreeIPA.
Without it, even ./makeapi and ./makeaci fails.
webui: add confirmation for dns zone permission actions

All header actions should require confirmation.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: dns forward zones

Add DNS Forward Zones Web UI.

- pages under: Identity/DNS/DNS Forward Zones

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui-ci: dns forward zone tests

Selenium CI sanity tests for DNS Forward Zones

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui-test: static metadata update

Regular update of static metadata for testing and presentation purposes.
It should also contain new DNS Forward Zones metadata.

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui-test: dns forward zone json data

Fake API results for testing and presentation purposes of DNS Forward
Zones.

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: fix detection of RPC command

old detection did not work with the static version used for test and
demonstration purposes.

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: send API version in RPC requests

Currently there is an incorrect behavior that server doesn't send datetime
and dnsname data in new format.

This patch adds the version to each RPC request making the UI look as  the
latest client. Server then sends data in correct format. It also removes
the "unknown version" warning from each RPC response.

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: extract rpc value from object envelope

adapt Web UI to a newer style of encapsulation object data

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
Added upgrade step executed before schmema is upgraded

Class PreSchemaUpdate is executed before ldap schema update

This is required by ticket: https://fedorahosted.org/freeipa/ticket/3210

Reviewed-By: Martin Kosek <mkosek@redhat.com>
Upgrade special master zones to forward zones

This upgrade is executed only if IPA version is older than 4.0
Requires detection if 'idnsforwardzone' objectclass is presented in
schema before schema is upgraded

Design: http://www.freeipa.org/page/V4/Forward_zones#Updates_and_Upgrades

Ticket: https://fedorahosted.org/freeipa/ticket/3210
Reviewed-By: Martin Kosek <mkosek@redhat.com>
Fix objectClass casing in LDIF to prevent schema update error

When a new objectclass was defined as "objectclass" and not
"objectClass", it made the schema updater skip some objectclasses.

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

Reviewed-By: Rich Megginson <rmeggins@redhat.com>
Update translations

Pull fresh translations from Transifex.
Update the POT file.

Thanks to all translators!
webui: base class for LoginScreen-like facets

LoginScreen has layout which can be reused for other facets/widgets,
e.g. for Sync OTP facet

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: add OTP token synchronization

New SyncOTPScreen widget and related facet.

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
webui: add link pointing to OTP sync page to login

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

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>