Disentangles update() logic. Adds option for early feedback.
'search' and 'record' commands are disentangled from the general update()
logic, in particular there is no longer recursion into update() in cases
where a 'search' is needed before a 'show', say. Dedicated doSearch and
doRecord methods are added with the intention of clarifying things.
Also adds an option for feedback right after 'search' returns, by having
update(show,stat,bytarget,termlist) skip processing on the first
round-trip. The UI thus have a change to detect that a search has started
and notify the user (before it would need to wait for the first update of
show,stat,.. etc). For setups with dozens or even hundreds of targets the
wait for the first sign of activity can otherwise be many seconds.