services/agent: Remove unnecessary synchronization.
services/agent: Remove unnecessary synchronization.

Without this change, "go vet services/agent/internal/server" was
reporting a seemingly serious concern:

services/agent/internal/server/server.go:121: readDMConns passes Lock by value: server.keymgr contains sync.Mutex
services/agent/internal/server/server.go:309: newKey passes Lock by value: server.keymgr contains sync.Mutex

suggesting that server.keymgr.mu was not being used effectively.

As I looked into fixing this, I realized that synchronization wasn't
needed because only a single goroutine was ever manipulating the cache
of principal handles.

To make this more explicit, this change makes the cache a method-local
variable and removes the mutex altogether.

As I was doing this, I realized that the cache never gets cleaned up -
which might be one of the causes of the production agentd's memory
growing as high as 800MB. I will investigate that and fix that up in a
separate change.

Change-Id: I12e1030d8b830f3157b4bdc9b107ef61b06a6404

vanadium/go.ref,vanadium/go.ref,vanadium/go.ref,vanadium/go.ref,vanadium/go.ref,vanadium/go.ref