Issue title: Triggers go into BLOCKED state after upgrading to Quartz 3.x
 Issue body: Quartz Version: 3.0.2

In the prior version of Quartz that we were using (2.6.1), our application created jobs that were picked up and processed by a Quartz scheduler that we have running as a service.
Now the trigger is going into the "BLOCKED" state and never gets executed.
We followed the migration guide to upgrade our code to Quartz v3. For our jobs, we left the original code and return Task.CompletedTask as suggested.
The messages from the Quartz jobs do not show any errors.
See below the properties that we use to configure the scheduler.

properties["quartz.scheduler.instanceId"] = "AUTO";
properties["quartz.threadPool.threadCount"] = 10;
properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
properties["quartz.serializer.type"] = "binary";
properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz";
properties["quartz.jobStore.useProperties"] = "true";
properties["quartz.jobStore.dataSource"] = dataSource;
properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
properties["quartz.jobStore.clustered"] = "true";
properties[$"quartz.dataSource.{dataSource}.connectionString"] = connectionStringBuilder.ConnectionString;
properties[$"quartz.dataSource.{dataSource}.provider"] = "SqlServer";

 Comments: 
 Comment 0: Are you using a custom JobListener?
 Comment 1: Yes, I have a JobListener that logs different events in log4net (e.g. job about to execute or completed), then return Task.CompletedTask... that’s it. Is it related to the issue?
 Comment 2: I had something similar and in my case my code in the JobListener was throwing an exception that prevented QuartzNet from removing the Job from the Executing jobs list.
 Comment 3: Ok, I figured out the problem. It was actually in a TriggerListener that we implemented. The Veto Execution had been implemented like this:
`        public Task<bool> VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken = new CancellationToken())
        {
            return new Task<bool>(() => false);
        }
`

An this is problematic because that Task is never getting started so things get blocked.
I changed the implementation to the code below and that solved the problem
`        public Task<bool> VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken = new CancellationToken())
        {
            return Task.FromResult(false);
        }
`

Thanks for pointing me in the right direction @Sicos1977 
{'source': 'GithubIssues', 'repo_name_with_owner': 'quartznet/quartznet', 'issue_id': 293334874, 'repo_stars': 5493.0}