Add #pingsrv <server-id>, fix insidious ExecuteScriptEnhanced bugs.

- Add new #pingsrv <server-id> command that sends a round trip IPC
  channel ping to a target server.  This can be used to measure the
  round trip IPC latency (e.g. for cross-server tells), using the
  database IPC channel.

- Convert all users of ExecuteScriptEnhanced() to first clear all
  script parameters via ClearScriptParams() before adding any
  local parameters.  This is required because of a problem inherent
  to the ExecuteScriptEnhanced() implementation:

  The server maintains a list of script parameters to pass to the
  next script invocation in a global fashion (attached to the VM
  object).  Although ExecuteScriptEnhanced() has an option to clear
  the parameter list, this only takes effect after the invoked
  script has returned.  Thus, if the invoked script were to then
  attempt to make a nested ExecuteScriptEnhanced() call, the
  nested script would receive the outermost script parameters and
  then its actual script parameters, resulting in hard to debug
  problems where incorrect script arguments apparently appear out
  of thin air even though diagnostics (e.g. action service
  handler tracing) show that the right parameters are being passed
  on to AddScriptParameter*() calls.

  To avoid this problem, always call ClearScriptParams() before a
  script invocation is begun; in this way, if the script invocation
  were nested, had parameters, and the current script invocation
  (or a parent thereof) also had parameters, the correct set of
  script parameters is passed to the child script invocation.