prevent possible crash

we should only do the shutdown extras like auth end if there is a parser as
well as a connection time. If there is no parser then the reconnect failed and
there will be no client details to refer to.
allow on-demand relays to run-on a short while when last listener goes

To prevent needless restarts on intermittent listeners connecting, allow an
on-demand relay to continue for a short while just in case they reconnect.

You can use a <run-on> tag in <relay> to specify some other duration, even 0