Zero the CB structure at allocation time

Also only set structure members if the corresponding python variable is
not None, avoid using GSS_C_AF_NULLADDR by default as address values are
protocol dependent, only the caller knows what is the convention for each
application protocol.

Signed-off-by: Simo Sorce <simo@redhat.com>
Fix a bad sizeof call in raw API channel bindings

Commit 12e88c37bf5b2d1c60144c980f82fb74e8fa2b6b miscopied the
sizeof call, allocating the size of a pointer instead of the size
of the underlying struct.  This fixes that.
Check last error in all SecurityContext methods

Previously, `_last_err` was only check on complete.  It is now
checked on every method.  This ensures that the error actually
gets thrown, and makes it more likely that the stored traceback
actually gets deleted.  This functionality can now be disabled
by setting the `__DEFER_STEP_ERRORS__` class variable in
`SecurityContext` to `False`.