[Icons] Add getAsset to ComponentProvider
[Icons] Merge latest from nasa/master into icons

Merge in changes, including quick-fix
implementation of new icons.
[Icons] Hook component icon methods up to getAsset

Use getAsset in getIcon methods of AbstractComponent,
and deprecate them for future removal.
[Icons] Service getAsset from default provider
[Icons] Process icon from node view
[Icons] Refactor icon processing

Intermediary commit; refactor icon processing
in order to support gradient fill in the
future, and to cache icons based on the
specific requested processing color etc.
[Icons] Break up icon processing
[Icons] Add getAsset to AbstractComponent
[Icons] Add getAsset to type info classes
[Icons] Add abstract class TypeInfo

Adds the abstract superclass TypeInfo for
ComponentTypeInfo, ViewInfo, etc. Serves as a
common container for class information, and
supports getAsset() calls (without requiring
these shorthands to be implemented separately
for every type described in this manner.)

Future enhancements may include support for
PolicyInfo, and addition of ActionInfo.
[Icons] Remove references to AbstractComponent.getIcon
[Icons] Fix icon coloration
[Icons] Deprecate ViewInfo icon methods

Additionally, colorize icons in SwitcherView.
[Icons] Implement getAsset in component providers

This removes usages of constructor calls for
ComponentTypeInfo and ViewInfo which involve
elements that have been moved to
ComponentProvider.getAsset. (Specifically,
these are icons and creation wizards.)

Where appropriate, these have been replaced
with appropriate getAsset implementations in
those component providers. In some cases
the icons present do not match up with
current icon implementations and have been
removed entirely.
[Icons] Fix checkstyle/Werror issues
[Icons] Ensure unit test compliance

API changes and some behavioral changes break
unit tests. Changes here fall into two
categories:

* Adjust unit tests to keep up with changes
* Add more checks to code to improve
  robustness (avoiding elaborate mocking
  when unit testing unrelated behavior)
[Icons] Test getAsset in component providers
[Icons] Test getAsset and related changes in mctcore
[Icons] Test default getAsset
[Icons] Test table provider's getAsset