[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
[FIXED SECURITY-133] Restrict access to SCMTrigger status page

The page shows the names and URLs of all jobs currently busy with
polling. This includes jobs users might not regularly be able to
access and might therefore reveal otherwise hidden information.
[FIXED JENKINS-18902] Exclude lower bound of range from changes
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
[JENKINS-2673] Clarify that suggestion means polling just once per hour
[JENKINS-23492] Fixed issue where empty welcome page callout block was appearing.
[JENKINS-23492] Fixed auth/login links in top navbar
[JENKINS-23774] Better report the case that the incoming web request has no Referer header set.
Updated Javadoc of AntClassLoader2.
JUnit 4.
The JNLP port is not interesting enough to warrant logging at INFO during every startup, including the vast majority of functional tests which do not even use JNLP slaves.
Toning down some uninteresting logging which just clutters test runs.
[JENKINS-14749] Temporarily work around CSS errors by just suppressing the warnings until they can be fixed.
[JENKINS-14749] Suppress warnings about expected exception from prototype.js#HAS_EXTENDED_CREATE_ELEMENT_SYNTAX.