An attempt to resolve #977, add signal to be sent when request is dropped by the scheduler  

There are some ideas about how to solve the issue #977 in this patch. I am new to the project and thus may have missed something here.

Is it better to name the signal in a more specific way, eg ``request_dropped_by_dupefilter``?
I don't know if it matters, but the value of `enqueue_request(request)` was previously returned by `schedule` method. Standard Scheduler doesn't return anything from `enqueue_request`, but custom schedulers could. So this changes ExecutionEngines and Scheduler APIs.

@dangra @pablohoffman does it matter?