Do not merge. Prototype for icons

Creation of prototype that loads icons from XML documentation file generated by project.

@Benglin, please review this prototype. Pay attention on CoreNodes project and classes Color and Files. Images should appear in old tooltip.
The ownership of these icons is definitely not belonging to ```FunctionDescriptor```, since we have one descriptor per function. Even though ```_cachedIcons``` is made ```static```, it should not be in ```FunctionDescriptor```. The next ideal places are either ```LibraryCustomizationServices``` or ```LibraryCustomization``` classes. ```LibraryCustomization``` is for each assembly, and therefore is the best place for storing these loaded icons. I would suggest moving ```_cachedIcons``` into ```LibraryCustomization``` class, and make it non-static.

Also, notice that the name used to look up for the cached icon is ```member.QualifiedName```, and the name that is actually getting stored into the ```_cachedIcons``` is ```member.QualifiedName + Small```. So the cached icons will never be found.

Another thing is, I am not sure if loading all icons at once is a good idea or even necessary. Some of the icons are used in tool-tips, which will never be shown in the current session of Dynamo. I would suggest something similar to the following:

1. Get hold of the ```System.IO.Stream``` given the assembly, keep it inside ```LibraryCustomization``` class (this way the DLL is loaded into the memory so subsequent resource access is fast).
2. When an icon is requested, call ```GetManifestResourceStream``` method to obtain the ```Stream```, and load that single icon.
3. Store that icon in ```_cachedIcons``` with its ```member.QualifiedName```.

Also, we should have a private method to load the icon (inside ```LibraryCustomization``` class), and another two to load small/large icons (this way the icon name mismatch issue highlighted above will not happen since we consistently pass the full icon name to ```LoadIconInternal```):

```cs
// Have another similar method for large icons.
internal BitmapImage GetSmallIcon(FunctionDescriptor descriptor)
{
    string iconKey = descriptor.QualifiedName + Configurations.SmallIconPostfix;
    return LoadIconInternal(iconKey);
}

private BitmapImage LoadIconInternal(string iconKey)
{
    // The usual loading codes.
}
```