A slightly different approach to freeing output_token

It is always safe to release the output token from a context
establishment call, per 5.26 of RFC 2744.  Do it unconditionally
within the loop, therefore.

However, applications are only *required* to free the storage when
the returned token is "non-NULL" (RFC 2743), aka nonzero-length
(RFC 2744).  Since gss_release_buffer() must set the length to
zero, check the length instead of the value, and get rid of the
need to set a separate flag condition.
Update sample code to 38d33787da7594624d79a9c97515ba61604ccfbe

Alternate duplicate-free avoidance logic.
Remove questions to self
Make draft-ietf-kitten-gss-loop-00
No assert.h for the code in the spec
Use GSS_C_EMPTY_BUFFER
Remove confusing text

Greg found it confusing, and we've reworded the rest of the bits
such that it's not really necessary anymore.
Don't mention errx()

Per Greg.
Grammar/spelling from Greg
Reduce use of parentheticals

As Greg noted.
Import new snapshot of gss-sample.c

Import from revision 43a4fc6b70ad403679f21e7d4fc5de1257f14032,
removing assert.h and some unneeded parenehticals, and using
GSS_C_EMPTY_BUFFER instead of memset().