[NuGet] Aggregate repository failing repository 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.