Fix gss_pseudo_random leak on zero length output

Nobody is likely to ever ask for zero bytes of output from
gss_pseudo_random, but if they do, just return an empty buffer without
allocating.  Otherwise we leak memory because gss_release_buffer
doesn't do anything to buffers with length 0.

ticket: 7838 (new)
Add test coverage for gss_pseudo_random

Add a test program which compares gss_pseudo_random outputs against
expected values for each enctype.