[NuGet] Modified NuGet AggregateRepository error handling.

Allow AggregateRepository to return packages if one repository fails.
https://github.com/mrward/nuget/commit/bdfb90a93d7165b2b3b76202ee363ec185721348

Give AggregateRepository classes access to failed repositories.
https://github.com/mrward/nuget/commit/495751e7c70c8bedc4a73de5e97bd4cbbdb59d27

Previously when IgnoreFailingRepositories was true and the Search
method was called on the AggregateRepository then if any
repository throw an exception then this exception would not be caught.
The other methods on AggregateRepository do not have this behaviour.
GetPackages, for example, will not throw an exception if one package
source throws an exception. All the methods on AggregateRepository
apart from Search use the Wrap method to handle any exceptions thrown.

Now when IgnoreFailingRepositories is true calling the Search will now
return packages even if one package source fails. The Search method
now also uses the Wrap method to handle any exceptions thrown.

When IgnoreFailingRepositories is true and a repository fails a
derived class is now informed about the failure instead of the error
just being logged.
[NuGet] Add Packages dialog -  Package sources could not be reached.

When All Sources is selected and if any one of the package sources
threw an exception then no packages were returned. Now as long as one
package source returns packages then the dialog will show the packages
and a warning indicating that some package sources could not be
reached is displayed as well as the errors for the failing package
sources. This warning text is at the top of the package list with an
orange background.

If all package sources throw an exception then the warning message
indicates that no package source could be reached along with the error
messages for each package source.

In order to support this feature two small modifications were made to
NuGet's AggregateRepository. One modification to support aggregate
package sources still returning packages even if one package source
failed. The second change was to to allow access to the failing
repositories outside of the AggregateRepository class.