Inspector: remove ProbeGroupObject.hasSamples getter, as it is redundant.
Manage ScriptDebugServer::m_callingListeners flag using TemporaryChange RAII.
InspectorProbeAgent should be guarded by ENABLE(JAVASCRIPT_DEBUGGER), but was
guarded by ENABLE(WEB_REPLAY) inside InspectorController initialization code.
The inspector backend should send scriptParsed events before probes and
breakpoints are resolved to positions within the newly-parsed script.

 * Split implementations of ScriptDebugListener::didParseSource into
willParseSource and didParseSource, while factoring out common code.

 * Send scriptParsed events to the frontend in the willParseSource callback.

 * Send breakpointResolved and probeResolved events to the frontend in the
didParseSource callback.

(This could be accomplished by tinkering with the initialization order of the
DebuggerAgent and ProbeAgent's debug server listeners, but the order is
determined by commands from the frontend, and would be quite brittle.)
Inspector: associate tree elements for future scripts with canonical placeholders.
Inspector: TreeElement.hasChildren should be false when all children are removed.
Inspector: remove ProbeGroupObject.disabled getter, as it is redundant with
ProbeGroupObject.isEnabled.
Inspector: fix misuses of the TreeOutline API in the placeholder tree element
replacement code.
Inspector: be more careful to not assume that probes are resolved.

This adds various assertions to ensure ProbeGroupObject.sourceCodeLocation is
only being used when the probe group is resolved. Code that sorts probe source
locations now uses the raw source locations, as display locations may not
be available (and the sort order should be the same).