Bug 720972 (optmenu): Support incomplete named args
Bug 720972 (optmenu): Support incomplete named args

Previously we supported named arguments, but we didn't cope well with
them being incorrect while they were being typed, which is clearly needed
for a menu to help.
This makes _unassigned to be an array to which we add dynamically created
instances of UnassignedAssignment rather than merging them which was always a
bit of a hack.

mozilla/gcli,mozilla/gcli,mozilla/gcli,joewalker/gcli,joewalker/gcli