Refactor perso selector events
Summary:
Move code from index entry point to a dedicated Perso engine.
Each way to define the logged-in perso is handled like an event,
sequentially.
Test Plan: login, logout
Reviewers: dereckson
Reviewed By: dereckson
Differential Revision: https://code.zed.dereckson.be/D17