Xdebug remote debugging compatibility and bug fixes

Summary: This diff finishes the last two remote debugging commmands property_get and property_set, fixes remote debugging bugs, and adds compatibility fixes to ensure remote debugging fully works with phpstorm, komodo, netbeans, and vim.

Additions:
* Implemented property_set and property_value and added test for property_set
* Updated tests broken with the below changes
* General cleanup

Compatibility:
* Added $GLOBALS variable to superglobal context
* Filtered out superglobals from the local context
* Context ids should start at 0 for komodo to be happy
* Replaced calls to `xdebug_get_php_symbol` with an eval. There were bugs with `xdebug_get_php_symbol` and I discovered phpstorm, komodo, netbeans, and the vim plugin always just send an expression.
* stack_get was being used by ides differently than expected. E.g. level 0 is intended to be the current location

Bug Fixes:
* xdebug.idekey ini setting was incorrectly named xdebug.ide_key
* When outputting arrays to xml the page was always set to 0
*
Closes https://github.com/facebook/hhvm/pull/3670

Reviewed By: @paulbiss

Differential Revision: D1539060

Pulled By: @sgolemon
Ensure that the entry block of an IRUnit does not have predecessors.

Summary: This can happen if the first block in the region is a loop header.

Reviewed By: @ottoni

Differential Revision: D1537458