Use singleton EventBasePool in ServiceRouter
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

rklabs/folly,rklabs/folly,Orvid/folly,rklabs/folly,Orvid/folly,floxard/folly,facebook/folly,facebook/folly,charsyam/folly,Orvid/folly,floxard/folly,floxard/folly,facebook/folly,floxard/folly,charsyam/folly,facebook/folly,floxard/folly,rklabs/folly,facebook/folly,rklabs/folly,Orvid/folly,charsyam/folly,charsyam/folly,Orvid/folly