Why I did things the way I did ...

if no type in cred_ptr_union then cc_free_creds() doesn't know what it's freeing
	it needs a type somehow.  This could be
		passed as separate arg
		made a field in the union
		inferred from a named cache
		buried in a cookie jar appended to the ticket storage area
		inferred from ticket/cred content

970722 : sgr :
I added "cc_tkt_version_type vers" to cc_create, cc_open and removed the version bits in cc_flags.
	I did this because you now need both the cache name and this version to uniquely identify a named cache.
	Putting bits in the flags seemed too obscure, having a separate parameter makes this less obscure.
	This also required a new cc_get_cred_version() call so the caller can figure out what's in the cache.

970821 : sgr
Problem:
	Two tasks could not successfully use the cache.  
	If A starts, then B, then A exits, the cache was gone, B had no toys to play with.
Cause:
	Multiple bugs found.
	
	1. Code called CreateFileMapping (via KrbCreateFile) and then later called OpenFileMapping
	which clobbered the handle from CreateFileMapping (memleak + probably prevented the system from
	destroying the cache when CloseHandle was called for a single task, not sure).
	
	2. Code used paired calls to OpenFileMapping & CloseHandle for every access.  This left the
	cache with no outstanding handles when CloseHandle was called, so the system destroyed the 
	cache when A exited.  

	I changed the code so init tries OpenFileMapping, if it works (i.e. not first task) we're in.
	If it fails, call CreateFileMapping and we're in.  Either way retain handle and keep cache open
	until Shutdown is called.  This required changes to several places in ctx.cpp  Then Attach/Detach
	become Map & UnMapViewOfFile.

	Before, the cache was not left open between calls to the cacheAPI, now it is.
	What locking issues does this raise?  Is the Lock routine needed (finally)?
	Is synchronization needed now that FileMap is opened in init and closed in shutdown? 
	(Or was it anyway?) or do the Mapping and UnMapping of views take care of it?
	Critical sections are Creation, Initialization, CreateNC, DestroyNC, StoreCred, RemoveCred

	If caller doesn't call shutdown, cache will never unload ... or does system clean this up?
