Document and refactor the CanonicalIdResolver extension point.
Document and refactor the CanonicalIdResolver extension point.

The extension point has been introduced in https://github.com/jenkinsci/jenkins/commit/af42534defea4503347dfc0ec442fadf51cf3336
It does not follow common extension point practices (e.g. “all()” methods) and has no Javadoc.

So I decided to polish it a bit. The core also adds some TODOs for review

v1v/jenkins,daniel-beck/jenkins,jenkinsci/jenkins,sathiya-mit/jenkins,daniel-beck/jenkins,daniel-beck/jenkins,sathiya-mit/jenkins,recena/jenkins,amuniz/jenkins,damianszczepanik/jenkins,stephenc/jenkins,Vlatombe/jenkins,oleg-nenashev/jenkins,stephenc/jenkins,kohsuke/hudson,Vlatombe/jenkins,pjanouse/jenkins,jenkinsci/jenkins,oleg-nenashev/jenkins,dariver/jenkins,andresrc/jenkins,jenkinsci/jenkins,damianszczepanik/jenkins,kohsuke/hudson,kohsuke/hudson,stephenc/jenkins,rsandell/jenkins,ErikVerheul/jenkins,kohsuke/hudson,bkmeneguello/jenkins,amuniz/jenkins,daniel-beck/jenkins,jenkinsci/jenkins,pjanouse/jenkins,pjanouse/jenkins,MarkEWaite/jenkins,rsandell/jenkins,stephenc/jenkins,bkmeneguello/jenkins,oleg-nenashev/jenkins,dariver/jenkins,godfath3r/jenkins,rsandell/jenkins,godfath3r/jenkins,ErikVerheul/jenkins,andresrc/jenkins,DanielWeber/jenkins,Vlatombe/jenkins,aldaris/jenkins,jenkinsci/jenkins,ikedam/jenkins,damianszczepanik/jenkins,DanielWeber/jenkins,godfath3r/jenkins,ikedam/jenkins,viqueen/jenkins,recena/jenkins,amuniz/jenkins,Vlatombe/jenkins,Vlatombe/jenkins,v1v/jenkins,batmat/jenkins,ErikVerheul/jenkins,rsandell/jenkins,patbos/jenkins,dariver/jenkins,damianszczepanik/jenkins,patbos/jenkins,sathiya-mit/jenkins,ikedam/jenkins,andresrc/jenkins,MarkEWaite/jenkins,ErikVerheul/jenkins,DanielWeber/jenkins,patbos/jenkins,viqueen/jenkins,kohsuke/hudson,ikedam/jenkins,kohsuke/hudson,amuniz/jenkins,godfath3r/jenkins,aldaris/jenkins,viqueen/jenkins,rsandell/jenkins,ikedam/jenkins,jenkinsci/jenkins,daniel-beck/jenkins,andresrc/jenkins,dariver/jenkins,dariver/jenkins,stephenc/jenkins,viqueen/jenkins,amuniz/jenkins,sathiya-mit/jenkins,rsandell/jenkins,dariver/jenkins,amuniz/jenkins,Jochen-A-Fuerbacher/jenkins,batmat/jenkins,jenkinsci/jenkins,bkmeneguello/jenkins,v1v/jenkins,bkmeneguello/jenkins,Jochen-A-Fuerbacher/jenkins,batmat/jenkins,aldaris/jenkins,stephenc/jenkins,v1v/jenkins,MarkEWaite/jenkins,v1v/jenkins,daniel-beck/jenkins,oleg-nenashev/jenkins,aldaris/jenkins,pjanouse/jenkins,ikedam/jenkins,andresrc/jenkins,godfath3r/jenkins,batmat/jenkins,dariver/jenkins,aldaris/jenkins,damianszczepanik/jenkins,patbos/jenkins,MarkEWaite/jenkins,sathiya-mit/jenkins,DanielWeber/jenkins,MarkEWaite/jenkins,stephenc/jenkins,recena/jenkins,ErikVerheul/jenkins,jenkinsci/jenkins,godfath3r/jenkins,v1v/jenkins,patbos/jenkins,sathiya-mit/jenkins,damianszczepanik/jenkins,ikedam/jenkins,bkmeneguello/jenkins,pjanouse/jenkins,kohsuke/hudson,recena/jenkins,DanielWeber/jenkins,Jochen-A-Fuerbacher/jenkins,Jochen-A-Fuerbacher/jenkins,ErikVerheul/jenkins,amuniz/jenkins,DanielWeber/jenkins,patbos/jenkins,bkmeneguello/jenkins,oleg-nenashev/jenkins,batmat/jenkins,recena/jenkins,bkmeneguello/jenkins,kohsuke/hudson,batmat/jenkins,godfath3r/jenkins,Vlatombe/jenkins,Jochen-A-Fuerbacher/jenkins,recena/jenkins,ikedam/jenkins,viqueen/jenkins,patbos/jenkins,rsandell/jenkins,sathiya-mit/jenkins,viqueen/jenkins,rsandell/jenkins,ErikVerheul/jenkins,aldaris/jenkins,DanielWeber/jenkins,pjanouse/jenkins,oleg-nenashev/jenkins,MarkEWaite/jenkins,viqueen/jenkins,damianszczepanik/jenkins,MarkEWaite/jenkins,MarkEWaite/jenkins,damianszczepanik/jenkins,recena/jenkins,andresrc/jenkins,v1v/jenkins,pjanouse/jenkins,batmat/jenkins,andresrc/jenkins,Jochen-A-Fuerbacher/jenkins,daniel-beck/jenkins,Vlatombe/jenkins,aldaris/jenkins,Jochen-A-Fuerbacher/jenkins,daniel-beck/jenkins,oleg-nenashev/jenkins