refactor: Split out public/private logic for peer events.
refactor: Split out public/private logic for peer events.

This doesn't change anything yet, but the goal is
to eventually optimize events for the case where
one user (typically a new user) gets subscribed
to multiple public streams.

eeshangarg/zulip,showell/zulip,kou/zulip,eeshangarg/zulip,hackerkid/zulip,showell/zulip,rht/zulip,showell/zulip,andersk/zulip,zulip/zulip,andersk/zulip,hackerkid/zulip,hackerkid/zulip,zulip/zulip,punchagan/zulip,kou/zulip,eeshangarg/zulip,showell/zulip,showell/zulip,andersk/zulip,punchagan/zulip,zulip/zulip,andersk/zulip,kou/zulip,punchagan/zulip,andersk/zulip,punchagan/zulip,eeshangarg/zulip,punchagan/zulip,hackerkid/zulip,kou/zulip,zulip/zulip,zulip/zulip,hackerkid/zulip,showell/zulip,hackerkid/zulip,eeshangarg/zulip,rht/zulip,kou/zulip,showell/zulip,rht/zulip,andersk/zulip,rht/zulip,rht/zulip,punchagan/zulip,zulip/zulip,eeshangarg/zulip,kou/zulip,hackerkid/zulip,andersk/zulip,rht/zulip,zulip/zulip,eeshangarg/zulip,rht/zulip,punchagan/zulip,kou/zulip