Reimplement global_change rate limiting

Rather than just checking when a change occurs to update we instead just
update after max_write_delay milliseconds.