Fix issue with readding scheduled tasks to the task_loop

If a scheduled task has not run since the last time it was
added to the taskloop, do not re-add it again.  Instead,
log an error.  This should prevent the taskloop filling up with
the same task over and over again in case the taskloop locks waiting
on an RPC call and the scheduler keeps happily adding the same
periodically scheduled tasks in over and over again until the
task loop fills and dies.