Respect ignoreRedefinition in repo mode

In repo mode, we kept the builtin. Keep the user function
instead.
Add comments to some of the debugger code to aid in understanding it more clearly, plus minor code cleanup.

Add a lot of comments to the debugger based on my current understanding of it. These may change in the future as we learn more, but they're helpful right now.

Also moved a few small things around in the code to clarify their purpose or scope. I.e., making a few things private, renaming a few functions, etc. No real logic changes, though. Also minor dead code removal. Also a few lint errors.
spill the inputs of CreateCl onto the stack

I did this for the IR but didn't do it for the JIT :(
Remove old vestiges of frame injection.

Nuke a little dead code that is leftovers of the old frame injection goo.
Remove dead ConnectionInit class

thats it
Remove bool key overloads from Array smart pointer

They were dead code.  Removed weakRemove() methods, also dead code.
More importantly, foo("something") binds to foo(bool) if there
is no foo(litstr), so this avoids accidentally calling the wrong
overload as I'm ripping out litstr overloads.
Remove old HHVM_GC code

This was left over from GC-related experiments, and isn't
needed now.
Kneecap an ext_spl test that had too many filesystem things going on

It was failing intermittently in contbuild and in different
fbcode checkouts.
Add TRACE calls to debugger code.

Added a new trace flag and added TRACE calls to all functions in files living directly in the hphp/runtime/eval/debugger directory