Use singleton EventBasePool in ServiceRouter
Summary:
Switching ServiceRouter code to use VirtualEventBase instead of EventBase allows us to have same thread-pool shared between multiple ServiceRouter instances.
In future this allows us to replace EventBasePoolImpl with some generic thread-pool implementation (e.g. IOThreadPoolExecutor). It also makes it trivial to have ServiceRouter run on a any existing thread-pool if necessary.
Reviewed By: smichelson
Differential Revision:
D3935283
fbshipit-source-id:
3275bbace15a0df8b06d12c970ccc098a631658d