skip over empty header lines
only fetch new message headers at most once a second
rate-limited all idle ends, not just fetch ones
rename variable to last_dis for disconnect