Fix autocomplete selection corner case

CORE-812

Emptying the field and selecting an autocomplete option wouldn't fill the field. Choosing same option again filled it, choosing it a third time, filled it incorrectly.

Likewise, after emptying the field, you could no longer select the same suggestion as was selected before.
One thing you can do is fire "change" with "*" as the argument on an observable, i.e. ```can.trigger(instance, "change", "*")```  but I think the problem we deal with here sometimes is that the first data-binding update replaces the field itself with a new field, and the new field gets drawn into the DOM without the correct value in it.