Rework search page

Added chevrons to show/hide children.  Checkboxes explicitly mean the
item is selected.
Lots of controller logic to handle checkbox changes.

Fixes #14