[JENKINS-23842] <l:icon> tag

A new <l:icon> tag + the "shim" plugin (to allow plugins use the tag but still maintain compatibility with older versions of Jenkins).

Once this tag is in place we'll have a lot more control over icons and how they are rendered e.g. allowing us to introduce CSS based icons more easily etc.  See the dev list for more details: https://groups.google.com/forum/?hl=en#!topic/jenkinsci-dev/GOiQdvctBB0

Here's a branch of the Credentials plugin using the shim: https://github.com/jenkinsci/credentials-plugin/compare/icon-tag-shim-test

At present, the shim plugin is in Jenkins core (ui-ext/icon/shim-plugin):

1. Should it stay there, or must all plugins be in a repo of their own?  
2. If it stays there, how should it be versioned i.e. in line with Jenkins core or independently?