Don't rename remote clients in concurrent builds

Avoid using concurrent client names when just polling or if Jenkins
isn't responsible for managing the client
Fixing resolved p4 client names on slaves

ensuring build variables are included when resolving macros for client
names on remote nodes
Fix NPE when build is null

No override of getDefaultEffectiveClientName that takes a build object
is needed since that code path is only executed if the build is null.
Rever back to using the other getDefaultEffectiveClientName override
that acts on project + node
Merge pull request #60 from stuartrowe/master

[FIXED JENKINS-25559] - Don't rename remote clients in concurrent builds