Implemented xdebug remote command infra, command parsing, and status and run commands

Summary: This diff primarily implements command parsing and the command infra. The
status and run commands were implemented for purposes of testing.

The parsing code (`XDebugServer::parseInput`) was translated from xdebug. This
way there are no inconsistencies between implementations dealing with command
parsing.

This also pulls in the xdebug error codes and stores them in an enum. Error
handling output should be identical to php5 xdebug.

Commands are abstracted into a class `XDebugCommand`. All valid xdebug commands
will be represented as subclasses of this class. They can be constructed from
the client input via `XDebugCommand::fromString`. Subclasses primarily override
`XDebugCommand::handleImpl` to perform the command and output the response,
but there are other functions that can be overridden to control options.

For testing purposes, I implemented the `status` command and the `run` command.
The status command just returns the status of the remote debug server. The
`run` command continues until the next breakpoint or program shutdown.

The server should also now respond properly if the client disconnects.

Reviewed By: @ptarjan

Differential Revision: D1479467
Remove `hhvm.eval.XXX` ini settings

Summary: We don't want `.eval.` in our ini settings (see `config.cpp::normalize()`). Let's get rid of them.

`hhvm.eval.jit` and `hhvm.eval.jit_psuedomain` are already being bound via the `EVALFLAGS() #define` in `runtime-option.cpp`, so that was duplication anyway.

`hhvm.eval.enable_xhp` was being duplicate bound as well. So just removed that duplication.

Reviewed By: @fredemmott

Differential Revision: D1506750