This routine is designed for applications which must unparse
a large number of principals, and are concerned about the speed
impact of needing to do a lot of memory allocations and deallocations.
It functions similarly to krb5_unparse_name except
if *name is nonNULL, in which case, it
is assumed to contain an allocated buffer of size *size and
this buffer will be resized with realloc to
hold the unparsed name. Note that in this case, *size must
not be NULL.
The *name argument points to allocated
storage and should be freed by the caller when finished.