Convert the queue's cancel shutdown to POST
Restored old appearance
Better way to handle link POST
Convert the management link to POST and allow other management links to require POST
Jelly Tag to submit POST os Async requests
[JENKINS-24763] Prevent thread starvation in OldDataMonitor by reducing scope of synchronization
Cleanup test file
Improve naming of test
Incorporate feedback from @jglick
Switch the source of a number of AbstractProject config options from StaplerRequest to JSONObject.

This change shifts the way a number of form elements are accessed when handling AbstractProject's doConfigSubmit from using "req.getParameter(...)" style access to using JSON-style (structured form submission) access through "reg.getSubmittedForm()".
Switch to using inline optionalBlock for several AbstractProject checkboxes so that we are passed a boolean, instead of either null or {}.

NOTE: The discrepancy between inline-optionalBlock and f:entry/f:checkbox is the text alignment, which optionalBlock keeps consistent with other elements (and what is done for these today).
This change converts several optionalBlock's wrapping a single field to inline="true".

By converting several optionalBlock entries to use inline="true", we convert the submitted JSON from:
   "hasPropertyFoo": {
     "propertyFoo": "value"
   },

which is a somewhat unnatural naming scheme, to:
   "hasPropertyFoo": true,
   "propertyFoo": "value",

This enables us to use the pattern:
   if(json.optBoolean("hasPropertyFoo", json.has("propertyFoo"))) {
     ...
   }

To permit either of the following as JSON blobs, for specifying a value for "propertyFoo":
1) "hasPropertyFoo": true,            # What comes through from jelly
   "propertyFoo": "value",

2) "propertyFoo": "value",

It also allows any of the following as JSON blobs, for NOT specifying a value for "propertyFoo":
3) "hasPropertyFoo": false,           # What comes through from jelly
   "propertyFoo": "value",

4) "hasPropertyFoo": false,

5) (nothing specified)

NOTE: The main interest in flexibility in what JSON comes through is in support of: https://wiki.jenkins-ci.org/display/JENKINS/YAML+Project+Plugin, this is also the purpose of the couple renames that are mixed in with this.
NPE during shutdown.
java.lang.NullPointerException
	at hudson.model.User.idStrategy(User.java:140)
	at hudson.model.User.getOrCreate(User.java:373)
	at hudson.model.User.get(User.java:366)
	at hudson.model.User.get(User.java:331)
	at hudson.model.User.get(User.java:441)
	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.getAuthentication(CpsFlowExecution.java:614)
	at org.jenkinsci.plugins.workflow.cps.CpsVmThread.run(CpsVmThread.java:20)
[FIXED JENKINS-24966] Return failure when port is in use

Both 0 and 1 are used to indicate some kind of success (the latter when Jenkins doesn't need to be started because it was already running), so we need to return 2.
waitUntilNoActivityUpTo should also produce a thread dump (despite 80da8f2).
Merge pull request #1306 from bkmeneguello/post-cancel-shutdown

[FIXED JENKINS-23020 JENKINS-23942] Convert the queue's cancel shutdown to POST
waitUntilNoActivityUpTo should list OneOffExecutable.executor if that is the problem.
Merge commit '383b90eaf5b9b296c228836316357989ea157a02'
Merge REMERGE_HEAD into HEAD
Merge REMERGE_HEAD into HEAD