[FIX JENKINS-23041] Fix systemInfo for offline slaves

- Don't show link in sidebar
- Make systemInfo page more robust when accessed via URL
[FIX JENKINS-18048] Fix link of SCMTriggerCause from UpstreamCause

- UpstreamCause now tries to initialize upstream causes with the
  correct build in onLoad
- SCMTriggerCause stores build reference and uses its URL to build
  absolute link to changelog
[FIX JENKINS-14538] Improve builds dir input validation
[JENKINS-14583] Move replacement into shared function for reuse
Merge branch 'master' into JENKINS-18048

Conflicts:
	core/src/main/java/hudson/triggers/SCMTrigger.java
[FIX JENKINS-22971] Show full project name when in folder.
[JENKINS-14583] Fix tests
[FIXED JENKINS-23636] Indicate node the job workspace is on
Merge pull request #1240 from daniel-beck/JENKINS-23041

[FIX JENKINS-23041] Fix systemInfo for offline slaves
Merge pull request #1251 from daniel-beck/JENKINS-14583

[FIX JENKINS-14538] Improve builds dir input validation
Merge pull request #1304 from daniel-beck/JENKINS-23636

[FIXED JENKINS-23636] Indicate node the job workspace is on
Merge pull request #1237 from daniel-beck/JENKINS-22971

[FIX JENKINS-22971] Show full project name when in folder.
Merge pull request #1250 from daniel-beck/JENKINS-18048

[FIX JENKINS-18048] Fix link of SCMTriggerCause from UpstreamCause
Noting #1237, #1240, #1250, #1251, #1304