[Core] MSBuild improvements

Improved handling of imports in MSBuildProject.
Made MSBuildProjectHandler more extensible.
[Core] Improve support for shared assets projects

Moved classes for handling shared projects to its own namespace.
Added extensions for handling shared project references.
[Core] Added project binding for Shared Assets project
[Ide] Added api for changing the project bound to a document
[Ide] Don't show hidden files in the solution pad
[Ide] Disable build commands when they are not supported
[Ide] Added node builder for shared projects
Track api changes
[C#] Added shared assets project template
[C#] Improve handling for linked files

When a file belongs to more than one project, allow selecting the project
to be used as editing context in the breadcrumb bar.
[Icons] [MonoDevelop.PackageManagement] New icons
[Icons] New package-source icons
[Icons] [MonoDevelop.PackageManagement] Referencing settings icons
[Icons] Fixing some icons mis-alignments
[Icons] Reverting some wrong calculations, sorry
[Core] Shared assets project fixes

Syncronize referencing projects when files are added/removed/modified.
Set the project id when creating a shared project
[NuGet] Remove backslash from addin.xml
[NuGet] Improve check box spacing in package source preferences.

Make the spacing the same on each side of the check box. Previously the
checkbox was closer to the left hand side.

Move check box up slightly.
Shared Assents Projects fixes

Don't show the "project won't be built" message if the project doesn't
support building.
Also fixed NRE.
[Icons] [MonoDevelop.PackageManagement] Fixing some positioning issues