DCHECK on reentrant invocations of loop()
Summary:
I had a crash bug where an `EventBase` handler called a function, which tried to use the thread's EventBase as if it were its own:
```
auto evb = folly::EventBaseManager::get()->getEventBase();
// schedule work on evb, which calls evb->terminateLoopSoon() on completion
evb->loopForever();
```
This ended up invoking the `event_base_loop()` reentrantly, and corrupting the heap in a hard-to-debug way.
Reviewed By: djwatson
Differential Revision:
D3408155
fbshipit-source-id:
b8855aa3b390fa33e032ab295d386122d2cb872a