Fix slow crontab.flush

make `crontab.lock` be context aware of being called inside itself
also fix that crons would be evaluated even when lock was not acquired