lock better and log better
lock better and log better

It's possible that `AddProtocol` is called after we iterate protocols in
`OnConnect`, but before it manages to finish everything and assign
the `(*KeybaseDaemonRPC).server`, so `AddProtocol` would find `server`
to be nil, and skips registering additional protocols. So just do a full
lock at the beginning of `OnConnect` to avoid this race.

Also add logging for each registered protocol to help with debugging.

keybase/client,keybase/client,keybase/client,keybase/kbfs,keybase/client,keybase/client,keybase/client,keybase/client,keybase/client,keybase/kbfs,keybase/client,keybase/kbfs,keybase/client,keybase/client,keybase/client,keybase/kbfs