Only trigger events once at most for an autocompleter

Also correctly ignore events not intended for an autocompleter
(triggered on a specific autocompleter DOM parent element)
Ignore reset() if data already exists. This is not a clear method