osd/ReplicatedPG: agent_work() fix next if finished early due to start_max

Backport: firefly

Signed-off-by: David Zafman <david.zafman@inktank.com>
(cherry picked from commit 9cf470cac8dd4d8f769e768f2de6b9eb67a3c3af)
osd, common: If agent_work() finds no objs to work on delay 5 (default) secs

Add config osd_agent_delay_time of 5 seconds
Honor delay by ignoring agent_choose_mode() calls
Add tier_delay to logger
Treat restart after delay like we were previously idle

Fixes: #8113
Backport: firefly

Signed-off-by: David Zafman <david.zafman@inktank.com>
(cherry picked from commit b7d31e5f5952c631dd4172bcb825e77a13fc60bc)
osd: Prevent divide by zero in agent_choose_mode()

Fixes: #8175
Backport: firefly

Signed-off-by: David Zafman <david.zafman@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit f47f867952e6b2a16a296c82bb9b585b21cde6c8)