just thorw a regular exception

I'm not expecting a user to do anything actionable (other than open an issue) on this error so a regular Exception should be ok.
Make Nemo aware of functions defined in systemlib

Now that we define functions in systemlib they also need to be available during static (Nemo) analysis.
Cleanup flow control around exceptions

There were multiple issues with flow control when exceptions occur. Fixed these by ditching the reliance on the exception thrown interrupt and introduce an exception handler interrupt, which indicates control is about to pass to a catch clause. This gives us much better insight into how execution is flowing and how we might need to adjust an in-flight stepping operation.
s/Call/CPPCall/

A precursor to moving the Transl namespace to JIT. We have an IR opcode `Call` and this would conflict. Those should probably be in another namespace, but this is easier.

This was way easier to do in a compiled language :)
Trace -> IRTrace

For converting Transl -> JIT. We either do this or convert all the other `Trace` calls to `HPHP::Trace` which seemed worse. This also niecly mirrors `IRInstruction`.
Provide a command line switch to specify the path to the debugger config file

Currently the debugger config file is always expected to be at ~/.hphpd.hdf, except when the debugger is controlled via the API, in which case the API client can specify the path. With these changes the path can now also be specified via the command line. Also, the test runner has been modified to look for an hphpd.hdf file and specify the path to it as a command line option. If present, this file also indicates that tests in the directory must be run in debugger mode, making the .opt files redundant. Note that it is important for tests to be able to control the contents of the config file since debugger output is controlled by it and tests will be brittle unless the config is part of the suite and not controlled by the user running the tests
Remove the SharedVariant pointer from StringData.

We only use it to lazily grab the hashcode.  So just grab the hashcode
eagerly when we create the string.
Remove assertion that is no longer true and that does not do anything useful.

This assertion should have been removed with an earlier diff that made it no longer true.
Do not recreate the debugger options file.

The code for reading in the personalized debugger options, always wrote out the file to account for the case where there may not be a file in the first place. This is not necessary and can lead to the file being changed when running various kinds of debugger tests. Since the tests use a checked in file, it is not desirable for the file to change as a result of a test run. With this change, the file will only be written out when it is missing in the first place. There are still some scenarios where it is possible to write a test that will change the file. Currently no such tests exist. Also, in those scenarios, the test may well want to verify that the file is changed, so more work will needed later on. Right now, that can wait.
fix header order

fixed the lint rule and includes the extra header we needed
use TRACE_SET_MOD

I found this macro while refactoring and since I like consistency, I used it everywhere.
Keep the uploaded data when a partial upload error occurs

When we get an UPLOAD_ERROR_C, record the filename and the size
as usual.

I've not been able to test this - I can't get a partial uplaod,
even by quitting from firefox during the upload. I seem to either
get a full upload, or nothing at all.