Implemented xdebug breakpoint commands and slightly refactored xdebug xml api

Summary: This diff implements the following remote debugging commands:
* breakpoint_get
* breakpoint_list
* breakpoint_remove
* breakpoint_update

The descriptions are self-explanatory, but they are also written above each
implementation.

This diff was intended to implement the xdebug breakpoint commands, but I got
fed up with dealing with the xdebug xml code and so I slightly refactored that
as well. The changes go a long way to making it better, but are definitely not
enough in the long run.

Reviewed By: @ptarjan

Differential Revision: D1512977
when decoding numeric HTML entities, check if they're a number

Summary: According to php-src, strtol is pretty lenient with whitespace and other
non-numeric characters at the start of a string. Add the same checks
that exist there before attempting to process the numeric entity.

See:
https://github.com/php/php-src/blob/1e3e9e0bbbe073db4a32627e67e8f5d838852eaf/ext/standard/html.c#L802
Closes https://github.com/facebook/hhvm/pull/3630

Reviewed By: @JoelMarcey

Differential Revision: D1529806
Fix a race initializing static properties

Reviewed By: @swtaarrs

Differential Revision: D1529994