search: Refactor by_pm_with to use user profiles as common path.
search: Refactor by_pm_with to use user profiles as common path.

Use UserProfiles instead of emails to fetch recipient objects for
narrowing; this is cleaner as it avoids unnecessary parsing and
unparsing.  We just map ids/emails operand to user profiles and then
use common code from there.

Fixes #12601.

tommyip/zulip,brainwane/zulip,brainwane/zulip,eeshangarg/zulip,rht/zulip,andersk/zulip,andersk/zulip,showell/zulip,punchagan/zulip,hackerkid/zulip,hackerkid/zulip,tommyip/zulip,zulip/zulip,andersk/zulip,kou/zulip,punchagan/zulip,kou/zulip,kou/zulip,shubhamdhama/zulip,andersk/zulip,timabbott/zulip,rishig/zulip,rishig/zulip,rht/zulip,tommyip/zulip,kou/zulip,tommyip/zulip,zulip/zulip,timabbott/zulip,punchagan/zulip,rishig/zulip,tommyip/zulip,showell/zulip,punchagan/zulip,eeshangarg/zulip,hackerkid/zulip,showell/zulip,synicalsyntax/zulip,andersk/zulip,brainwane/zulip,synicalsyntax/zulip,rht/zulip,synicalsyntax/zulip,kou/zulip,timabbott/zulip,rht/zulip,punchagan/zulip,shubhamdhama/zulip,rht/zulip,zulip/zulip,punchagan/zulip,punchagan/zulip,rht/zulip,andersk/zulip,synicalsyntax/zulip,hackerkid/zulip,synicalsyntax/zulip,showell/zulip,zulip/zulip,rishig/zulip,eeshangarg/zulip,eeshangarg/zulip,rishig/zulip,timabbott/zulip,shubhamdhama/zulip,showell/zulip,rishig/zulip,tommyip/zulip,brainwane/zulip,timabbott/zulip,shubhamdhama/zulip,synicalsyntax/zulip,eeshangarg/zulip,hackerkid/zulip,eeshangarg/zulip,showell/zulip,synicalsyntax/zulip,hackerkid/zulip,shubhamdhama/zulip,rht/zulip,kou/zulip,zulip/zulip,shubhamdhama/zulip,shubhamdhama/zulip,andersk/zulip,timabbott/zulip,brainwane/zulip,hackerkid/zulip,brainwane/zulip,eeshangarg/zulip,zulip/zulip,brainwane/zulip,timabbott/zulip,tommyip/zulip,kou/zulip,rishig/zulip,zulip/zulip,showell/zulip