[Core] Allow a Condition to be set for an MSBuild Import.

A condition specified in the call DotNetProject.AddImportIfMissing(..)
will now be saved in the MSBuild project file. This allows imports to
be conditional.

One use is for NuGet packages that define a custom MSBuild targets
file and allows the targets file to be conditionally imported if the
file exists.

<Import
  Project="packages\Xamarin.Forms\Xamarin.Forms.targets"
  Condition="Exists('packages\Xamarin.Forms\Xamarin.Forms.targets')"/>

Using the Exists check allows Visual Studio to open the project when
the package is missing and has not yet been restored.
[NuGet] Add Condition to an Import added by a NuGet package.

If a NuGet package adds an import for a custom MSBuild .targets or
.props file then these are added to the project file with a Condition
attribute that checks that the file exists.

<Import
 Project="packages\Xamarin.Forms.1.1.0\build\net45\Xamarin.Forms.targets"
 Condition="Exists('packages\Xamarin.Forms.1.1.0\build\net45\Xamarin.Forms.targets')" />

If this check is not added then Visual Studio will not be able to load
the project if the NuGet packages are not restored.
Merge branch 'master' into msbuild-import-conditions

Conflicts:
	main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj
[Icons] [MonoDevelop.Ide] Spinners
See https://github.com/xamarin/icons/issues/78
Merge pull request #596 from mono/msbuild-import-conditions

Allow a Condition to be set for an MSBuild Import
[NuGet] Fixed failing test on Mac

Test was missing a conversion to a native file path.
[Mac] Fix focus issues when using context menu

Fixes bug #20656 - Regression in file/directory renaming in the Solution Tree
Merge branch 'master' into nuget-support-v2

Conflicts:
	main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.Tests/MonoDevelop.PackageManagement.Tests.csproj