search: Extract make_attacher.
search: Extract make_attacher.

This class gives us more control over attaching
suggestions to our eventual result.  The main
thing we do now is remove duplicates as they're
encountered.

This will make sense in the follow up commit,
where we can short circuit actions as soon as
we get enough results.

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