[Icons] Refactor icon support, implement variant processing

This pull request changes the way icons are handled, as well as the way create wizards are handled.

* Process icons differently depending on context (including gradient coloring and drop shadow) to complete nasa/mct#145 per specification. Processed icons are cached to avoid incurring the cost of this processing repeatedly.
* getIcon and getWizardUI in ComponentTypeInfo (and similar methods in AbstractComponent) are deprecated to remove Swing dependencies from these classes in support of nasa/mct#155.
* getAsset is added to ComponentProvider interface to replace these deprecated methods. This also permits a way for icons or other arbitrary asset types to be added separate from the plug-in that defines a component type. (This supports the idea that plugins built with one GUI toolkit/paradigm in mind could be reused in a different context, with a separate plugin providing the necessary/desired assets.) Further supports nasa/mct#155
* New instances of create wizards are provided by getAsset, addressing MCT-3015 and MCT-3164 from the private issue tracker.

 Wrote or re-wrote unit tests (Y/N): Y 
 Ran entire suite of unit tests successfully (Y/N): Y
 Verified bug fix with the described replication steps or verified the implementation meets the requirement cited (Y/N): Y
 Code coverage requirements satisfied (new code=80%, changed code=at least as high as existing) (Y/N): Y
 Code review date and attendees: Code review by pull request
 Describe potential impact on other areas of the code: Icons, create wizards
 Describe any test prerequisites for this fix (e.g., restart the database): N/A
 For bugs marked "Regression - Yes", describe the cause of the regression: N/A
 Did you modify any pom.xml file? If yes, did you thoroughly document your changes and reasons? N