Fixed bug where add_cred wouldn't return new creds

There was a bug where the new credentials object that resulted
from add_cred and related operations would not be returned.
This is now fixed in the high-level and low-level APIs.
Added decorator for extension tests

The added decorator (in high-level tests) will
skip the test if the extension is not present
on the system being tested, leaving an appropriate
message behind
Allow Name to take a unicode name

Previously, the Name constructor in the high-level API
needed a byte string Now, if a unicode string is passed
to the Name constructor, it will be encoded using the
default encoding.
Support the Cred Store Extension

This adds support for the credentials store extensions.
These extensions allow storing and acquiring credentials
from specific stores.

Additionally, support for RFC 5588, which allows for storing
credentials into the default credentials store, was added as a
separate extension.
Made S4U import from gssapi_ext.h

Technically, the S4U support should have been importing from
gssapi/gssapi_ext.h, not gssapi.h.  It now does.
Split KRB5-specific values into their own file

Previously, the code specific to the KRB5 mechanism was
present in the main GSSAPI files.  This meant that attempting
to compile on a non-KRB5 implementation would fail.

Now, the KRB5-specific values are in their own file.
Detect support for extensions

Previously, setup.py attempted to compile all of the modules for
the various extensions for GSSAPI.   Now, setup.py will attempt
to load the GSSAPI library (specified by the GSSAPI_MAIN_LIB
environment variable, defaulting to 'libgssapi_krb5.so') to look
for a 'canary' function to detect support for the extension.
If the canary function is not found, the extension is not compiled.
This functionality can be disabled by setting the GSSAPI_SUPPORT_DETECT
environment variable to 'false'.

Additionally, the GSSAPI_MECHS environment variable may be set to
control with mechansim-specific files are compiled.  It defaults to
'krb5'.

Finally, the GSSAPI_LINKER_ARGS and GSSAPI_COMPILER_ARGS environment
variables may be set to control the compiler and linker arguments.
They default to the output of the 'krb5-config gssapi' command
(with either the '--libs' or '--cflags', respectively).