Reworking of the DeleteButton

Changed DeleteButton to an InputGadget, so I can reuse it easily for
Things.

Rebuilt bootstrap.popover() to use new-style JSOptionBuilder.  Made
several signatures more strongly-typed.
Raty mostly working

Checkpointing, because I came to realize that there is a horrible bug in
JSOptionBuilder, which I need to fix immediately.

Also, got the DeleteInstanceButton working.  Somehow, I seem to have not
checked that change in before starting on Raty.  Bad me.
Critical fix to JSOptionBuilder

Realized that the previous version was causing us to actually rewrite
the base object, resulting in highly unpredictable behavior.  Rewrote to
build a properly immutable object to start, and then translate that
late.

Also, fixed a critical bug that was preventing Lists from working right.