bakery: modify public keys in place

This allows a PublicKeyRing to be updated without growing indefinitely.

Also update the license to LGPL (with static linking exception) to conform
with company guidelines.

yes :)

since we have to iterate through all the keys for the lookup,
lookups are likely to be much more frequent than modifications
and iterating through a slice is faster than a map, i think
it's probably better as a slice. Better still as a prefix tree, but that's
too much for now.