Refactored AppCombo JS code + related bits

The internals of the AppCombo javascript stuff have been reworked and
the manner in which the store is loaded and values are set has been
revamped. Things now work closer to the original intended ExtJS API of
Ext.form.Combo. The effective improvements/fixes are:

 * the dropdown list is refreshed every time
 * the display value is set correctly, even on the first load
 * the empty value no longer displays raw markup in the field

These were a few long-standing annoyances which are now fixed.

allowBlank is now no longer set by default in the backend, plus a number
of other related improvements, such as the tie-in for grid edit. It now
uses 'onTriggerClick' instead of 'expand' because the latter does not
call through the load machinery (and this was part of the problem and
the ugly workarounds in the previous code).

Note that this is a major change and is still being tested...