Abstract username case sensitivity into an extension point
[JENKINS-22247] Provide an extension point to define user id case sensitivity contract

* Fix up bad merge
Use a dedicated descriptor
Updating the pull request in light of comments

- Removed the Legacy strategy completely
- Moved the strategy to an aspect of the security realm
- Separated the strategy for Users from Groups because... well it might be necessary for some
- Moved IdStrategy from inner class of User into top level class
Updated w.r.t. pull request review comments
Fix test
Fix warnings in ListView
[FIXED JENKINS-22967] Introduce directly modifiable views
[JENKINS-22967] Polish new api
[JENKINS-22967] Make DirectlyModifiableView an interface rather than class
[JENKINS-22967] Fix item name semantics for DirectlyModifiableView web methods
the trunk is toward 1.566-SNAPSHOT
JENKINS-22750 was actually fixed in 1.565
Move invalid body ID to body class and data

IDs cannot contain spaces. Instead, let's move jenkins-${h.version} to the `class` attribute, which is space delimited. This way it can still be used for styling if needed (using `body.jenkins-x.y`). If this is not used for anything other than knowing which version of Jenkins is running, use `<body id="jenkins" class="yui-skin-sam" data-version="jenkins-${h.version}">` -- IDs and Classes should not be used to store data.
[FIXED JENKINS-23127] Allow loading classes from plugins.
Pending a rework of #538, the least we can do is show users the wiki page with suggestions.
Cf.: http://stackoverflow.com/questions/8109607/headless-continuous-integration-with-jenkins
Merge branch 'fix' of github.com:KostyaSha/jenkins
[JENKINS-23127] Noting merge of #1244.
Merge pull request #1234 from olivergondza/directly-modifiable-view

[FIXED JENKINS-22967] Introduce directly modifiable views
Noting #1234