Add support for krb5 1.11's responder callback.

krb5 1.11 adds support for a new method for responding to
structured data queries. This method, called the responder,
provides an alternative to the prompter interface.

This patch adds support for this method. It takes the password
and provides it via a responder instead of the prompter. In the
case of OTP authentication, it also disables the caching of
credentials (since the credentials are one-time only).
Detect the presence of libcmocka during configure
Add utility functions for tests that use sysdb or tevent.

There was shared code for several unit tests that connected to their own
sysdb instance. This patch adds common code to run a generic request to
completion or connect to a test sysdb.
Move sss_cmd_execute from client to responder code.

I think it logically belongs there and allows to better exercise the
responder commands from unit tests.
CMocka based test for the NSS responder
BUILD: Fix cmocka detection

We were not properly detecting that cmocka was unavailable. It was
expecting an empty value and getting "no" instead. This patch
corrects the expectation, so we will now skip building and running
cmocka tests on platforms that do not have it available.

Also, we were missing the cmocka header files in the distribution
tarball, so 'make distcheck' was failing.
build: require libcmocka on fedora 18+
fix segfault in nss responder unit test

https://fedorahosted.org/sssd/ticket/1833

state is expected to be a pointer
krb5-utils-tests: remove invalid condition

This condition is invalid because different_realm is not set, when
EINVAL is returned. It can make the test fail sometimes.
BUILD: Fix up whitespace in Makefile.am
Reuse sss_open_cloexec at other places in code.

Functions open_cloexec and openat_cloexec were renamed with prefix
"sss_" and moved to separete file. Replacing duplicated code of
function sss_open_cloexec everywhere in the source code.

https://fedorahosted.org/sssd/ticket/1794
More generalized function open_debug_file_ex()

Function open_debug_file_ex() set flag FD_CLOEXEC to opened
file according to the value of third parameter.

Removed duplicity of unsetting FD_CLOEXEC after calling function
open_debug_file_ex()
Removing unused header file providers.h

Header file "providers.h" is not included in any other
file and function "dp_process_init" declared in this header file
has no implementation.

Header file protos.h is not also included in any other file and even
hole content is commented out.
Fix initialization of multiple variables
Fix coverity issue 13136

https://fedorahosted.org/sssd/ticket/1811
Fix sss_client breakage.

Adding missing dependencies for linker. Missing dependency was
introduced by commit 22d381367c27910fe82f476a76b9f4ede555e35a
in changed file src/sss_client/nss_mc_common.c

All function declaration for io.c was moved from util.h to separate file io.h,

https://fedorahosted.org/sssd/ticket/1838
Retry the correct service on krb5 child timeout
Remove duplicate remake from bashrc_sssd
Decrease krb5_auth_timeout default

https://fedorahosted.org/sssd/ticket/1738
Use common error facility instead of sdap_result

Simplifies and consolidates error reporting for ldap authentication paths.

Adds 3 new error codes:
    ERR_CHPASS_DENIED  - Used when password constraints deny password changes
    ERR_ACCOUNT_EXPIRED  - Account is expired
    ERR_PASSWORD_EXPIRED  - Password is expired