Use consideredJobs/ignoredJobs matchers to allow user to filter jobs in a more flexible way

My previous patch, modified according to notes from Vlado Pakan. User can specify two arrays of matchers - only jobs that pass consideredJobs matchers will be checked (effectively ignoring fact there may be other running jobs), and jobs that pass excludeJobs matchers will be ignored (ignore running jobs user does not care about).

Unfortunately, I removed previous branch while squashing and rebasing commits into one, therefore new pull request (and lost history...), sorry for that.