[FIX JENKINS-10477] Use build display name in executors list
[FIX JENKINS-14538] Improve builds dir input validation
[JENKINS-14583] Move replacement into shared function for reuse
[JENKINS-14583] Fix tests
[JENKINS-16184] Also escape greater-than character
[FIX JENKINS-17114] Distinguish 'nodes offline' from 'no nodes'

Jenkins currently does not distinguish between 'All nodes for a
label are offline' and 'There are no nodes for a label'. This is
exacerbated by the current wording:

    All nodes of label 'foo' are offline

Instead of just changing the wording to something not seeming to
imply existence of such nodes, add a second wording that clearly
states that there are no such nodes.