Vocab widget: minor cleanup (wrap at ~80col)
Vocab widget: refactored SearchHandler to extend AdvancedHandler
Vocab Widget: internal refactor.

This widget started with the search handler as the default option. As more
features have been added, this approach resulted in the base object including
a bunch of features specific to UI interaction, instead of the core widget
operations: retrieving vocab data from SISSVOC.

This commit refactors the internal classes of the widget:
  - VocabHandler extends Class
      - UIHelper extends VocabHandler
          - SearchHandler extends UIHelper
          - NarrowHandler extends UIHelper
      - TreeHandler extends VocabHandler

VocabHandler provides access to the underlying SISSVOC endpoint, configuration
validation, error handling and that's about it.

UIHelper includes a bunch of (ugly) code shared by the Search and Narrow
handlers.

TreeHandler is a fairly thin wrapper around the VocabHandler, constructing tree
lists and handling events etc.

The widget provides the following events:
  - search.vocab.ands(event, data): search response.
  - narrow.vocab.ands(event, data): narrow response.
  - treeslect.vocab.ands(event): selection made on vocab tree. (selected item
    is event.target)
  - error.vocab.ands(event, xhr): error response, either from SISSVOC or inside
    the widget. Inspect xhr (XMLHttpRequest if src=SISSVOC, simple object
    otherwise)
Vocab widget: Added note the show we're repurposing material provided
from the JSTree plugin <http://www.jstree.com>
Vocab widget: updated advanced mode (now called core mode) to be the default
mode. Cleaned up demonstrator and some other defaults as well