Added xdebug server setup code

Summary: This diff adds a class "XDebugServer" that represents an xdebug remote
debugging server. The server is attached and detached in `ext_xdebug.cpp`
similar to the `XDebugProfiler`.

This diff also adds support for taking in config settings using the
environment variable `XDEBUG_CONFIG`. This is necessary for supporting
all the server options php5 xdebug does.

I've also changed the request local data to be thread local. Attaching
the server (in the next diff) revealed some bugs in the current
implementation.

Depends on D1471865.

Reviewed By: @ptarjan

Differential Revision: D1472286
Make sure to free memory used for CodeGenFixups

Summary: std::vector::clear() doesn't reduce its capacity.
Use the swap trick instead.

Some of these are maps or sets, so don't really need this treatment,
but we could change representations, so easier to just do all of them.

Reviewed By: @swtaarrs

Differential Revision: D1481874