Don't keep Extension instances

All instance of Extension extended class must be fully managed by
Jenkins instance. So those must not be reused by other instances.

This patch fixes such issue. Targets are:

ToGerritRunListener
DependencyQueueTaskDispatcher
In addition, the above class is changed to final class. Because getInstance() has possibility to return instance of extended class if those are extendable.

Fix for JENKINS-24575
same here