Add ipaUserAuthType and ipaUserAuthType.

This schema addition will be useful for future commits. It allows us to
define permitted external authentication methods on both the user and
global config. The implementation is generic, but the immediate usage
is for otp support.

https://fedorahosted.org/freeipa/ticket/3365
http://freeipa.org/page/V3/OTP
Add IPA OTP schema.

This commit adds schema support for two factor authentication via
OTP devices, including RADIUS or TOTP. This schema will be used
by future patches which will enable two factor authentication
directly.

https://fedorahosted.org/freeipa/ticket/3365
http://freeipa.org/page/V3/OTP
ipa-kdb: Set the 'otp' user string if OTP is enabled.

Since it is not secure to send radius configuration information
over krb5 user strings, we simply set the string with no value
and let otp be forwarded to the default location.

https://fedorahosted.org/freeipa/ticket/3561
http://freeipa.org/page/V3/OTP
Add the krb5/FreeIPA RADIUS companion daemon.

This daemon listens for RADIUS packets on a well known
UNIX domain socket. When a packet is received, it queries
LDAP to see if the user is configured for RADIUS authentication.
If so, then the packet is forwarded to the 3rd party RADIUS server.
Otherwise, a bind is attempted against the LDAP server.

https://fedorahosted.org/freeipa/ticket/3366
http://freeipa.org/page/V3/OTP