Implemented xdebug feature_get and feature_set commands

Summary: This diff implements the xdebug remote debugging commands feature_get
and feature_set. Like the name implies, these allow you to get and set
the features supported by remote debugging.

These are the first commands intended to be sent/received when starting
a debugging session, so these are important. Right now the results are
identical to xdebug (which is a lie because not all features are implemented).

Each command is also considered a feature, so this required me to implement the
stubs for each remote debugging command, which is why this diff is so large.
Most of the code is boilerplate, the most of the added logic is in the feature
get and feature set commands.

In this diff I also move `XDebugServer::initDbgp` and `XDebugServer::deinitDbgp`
into `XDebugServer::attach` and `XDebugServer::detach`. This way commands can
assume `XDEBUG_GLOBAL(Server)` always exists. It was nonintuitive that it
didn't, so I felt this was important for maintenance purposes.

Reviewed By: @ptarjan

Differential Revision: D1502891
Imported xdebug xml variable exporting and implemented xdebug eval + condition breakpoints

Summary: This diff was primarily intended to implement eval and condition breakpoints.
To do so, however, you need to be able to output the resulting variable in
an xml format. So a large part of this diff is pulling in the xdebug variable
xml exporting functions.

The imported code has been heavily rewritten to support hhvm internals, pretty
much only the flow and the function names remain. Tthe code is really ugly,
primarily due to the xml api so I've put added a note to refactor once the
xdebug xml api has been refactored.

I've also only imported the xml related exporting functions. Importing the rest
of the file would take too much time, but it isn't overly difficult. It will need
to be done for xdebug var_dump.@paulbiss is working on importing some other
parts of the file.

This took a while to import, but after this the commands should all fall in
place.

Reviewed By: @ptarjan

Differential Revision: D1507246