(Bug 4771) Update URLs for old js files in tests

Fixes tests before we update the jQuery libraries, so we know that we're
starting from a known good state
(Bug 4771) Update versions of jQuery and jQuery UI libraries
(Bug 4771) Fix test

The third parameter to error functions has changed from a simple string
to an instance of *Error object.

This fixes the test after updating to the latest libraries, but before
we make any changes to our JS files
(Bug 4771) Add menu so that autocomplete works
(Bug 4771) Adjust paths to images
(Bug 4771) Use namespaced widget names

"ui-autocomplete" vs "autocomplete"; "dw-cuttag" vs "cuttag" for forward
compatibility. The non-namespaced versions will be removed in a future
version of jQuery.
(Bug 4771) Use the (new) built-in implementation for hover/focus
(Bug 4771) Update autocomplete to new API

Also fall back onto the standard implementation instead of having
redundant code trying to handle it on our own.
(Bug 4780) Switch over to using the new tooltip.js

Also includes switching over to a new API for ajaxtip, because we can
simplify some things.

Updated files which use ajaxtip for an error/status message
(Bug 4780) Update $.throbber usage

- The throbber will now always be placed after, never before.
- Changed the implementation to use a background image instead of
  appending an image, to keep the text from potentially bobbing up and
  down
- use $.throbber from dw-core.js, instead of having multiple different
  implementations of handling the image
(Bug 4780) Show an error symbol when the request fails.
(Bug 4780) Add classes for styling. Position below not to the right
(Bug 4780) Close the tooltip if you hover over the tooltip itself

This case covers error messages which behave like so:

- if you click and quickly receive an error (while you're still over the
  trigger), then the error message fades away when you move your mouse
  away (or lose keyboard focus)

- if you clicked then moved away, maybe doing something else on the
  page, then the error message doesn't fade away to give you a chance to
  see it.
    - the error message will fade away if you interact with the trigger
    - the error message will fade away if you interact with the tooltip
    - in both cases, interaction can mean either a hover/leave, or
      keyboard interaction (if there's something focusable in the
      tooltip)
(Bug 4780) Clean up old code
(Bug 4780) Add a "success" call which fades away automatically
(Bug 4780) Update commentmanage to use new tooltips

- instead of using a tooltip for a dynamic form (what was I
  thinking???), use a dialog. Immediate plusses are that we don't have
  to worry about keeping the tooltip persistent. May also help with
  screen reader accessibility because the role is now more semantically
  correct (dialog). Also keyboard accessibility...

- various tweaks in commentmanage

- use self.error instead of trying to use the content option's callback

- include new files. Limit scope of iconselector CSS so it doesn't
  affect other dialog boxes

- fix tests
(Bug 4780) Remove the last of the old code
(Bug 4780) Update the tracking JS to use dialog + new ajaxtip API

Also fixes the issue where the comment icon didn't update when
tracking a thread.

It was broken because we passed in the LJ_cmtinfo variable when creating
widgets (so we could access the cmtinfo as a local variable for slight
efficiency purposes). Problem was that the LJ_cmtinfo variable is
initialized after we create the widgets. So now we just use the global
variable, which isn't ideal but will do.
(Bug 4780) Pass in the title to dialog instead of as a form attribute
(Bug 4780) Pass in an array to "load" to handle multiple requests

Old method just plain didn't try to error-check if we said that the
ajaxtip should try to handle multiple simultaneous requests. Now we
handle it on a per-batch basis.

- Remove explicit option; instead handle it based on whether the options
  to be loaded is an object or an array of objects

- If we call load again on the same widget for a new batch of requests,
  we abort the old one and start again with the new

- Change the tracking widget to use the new API. Tracking widget needs
  it because each checkbox is a separate AJAX request.