[NuGet] Restore missing packages before updating packages.

Fixed bug 21049  - Wrong output in Package Console window.
https://bugzilla.xamarin.com/show_bug.cgi?id=21049

Previously when packages were unrestored and an attempt was made to
update a package, which had updates available from the package source,
the update would fail with a misleading error message.

For example, with NUnit 2.6.1 installed, and version 2.6.3 available
from nuget.org, updating the NUnit package, when it was not restored,
would result in NuGet producing the following Package Console output:

  Updating NUnit...
  Installing 'NUnit 2.6.3'.
  Added file 'nunit.framework.dll' to folder 'NUnit.2.6.3\lib'.
  Added file 'nunit.framework.xml' to folder 'NUnit.2.6.3\lib'.
  Added file 'license.txt' to folder 'NUnit.2.6.3'.
  Added file 'NUnit.2.6.3.nupkg' to folder 'NUnit.2.6.3'.
  Successfully installed 'NUnit 2.6.3'.
  MyProject does not reference 'NUnit'.

The misleading part is that the output says "Successfully installed
NUnit" but the update actually fails. By "install" NuGet means that
the package was downloaded and unzipped into the packages directory.
It does not mean the entire update was successful. The "project does
not reference 'NUnit'" is the error which occurs because NuGet cannot
find the old version of the package to uninstall so it thinks that the
project does not reference it.

To prevent the update from failing at this point the NuGet addin will
now check that the packages are restored for the project before trying
to update. One slight problem with this is that the first message that
appears in the status bar is "Restoring Packages..." instead of
"Updating packages..." however the update message appears after the
restore is completed.
[NuGet] Change status message when restoring packages before update.

When a package restore is started before updating NuGet packages the
status bar now shows the message

    Restoring packages before update...

This is to indicate that the restore is being done in order to
complete the update and it is not the standard package restore that
can occur on opening the solution or by selecting the Restore or
Restore Packages menu items.
Merge branch 'nuget-monodevelop-5.2' into nuget-support-v2

Conflicts:
	main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement.csproj
	main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageRestoreRunner.cs