Added extension point for overwritting the icon rendering

Hi ljader,

When the cause of a build is not one of the known cause types (classes) defined by the build trigger badge, then the default question mark icon is displayed. I have implemented this extension so that one plugin can implement independently the rendering of an icon, or suppress the default icon. More specific, we have a subclass of Cause which has more info, and what is received by the build trigger badge is not known, thus being forced to go to the default icon. Hope this makes sense, for us this change is very useful, and at the same time as general as possible for this plugin, as it is an opt-in feature.

Background: we are using Jenkins in production with open-source plugins and several in-house ones.
I guess those lines shouldn't have included in the commit while staging it.