Untangle logging dependencies

Summary: The idea here is to narrow down the amount of information EventLogger receives from its caller so that it doesn't create circular dependencies when trying to log events from most of the code in /src/client/ or /src/server/.

this is a disjoint set of (I presume flaky) tests that failed compared to the last rebase

Reviewed By: @jwatzman

Differential Revision: D1480933