Fix #1052 by allowing duplicate package Ids in GetUpdates() call

The bug was caused by the fact that if we see duplicate package IDs in GetUpdates calls, we just error out and return an empty list. When Managing Solution Packages, you can very easily be in a situation where two different projects have the different versions of the same package installed. So this is a problem.

With this change, we return an update IF it is higher than ANY of the (Id,Version) pairs in the provided list. 

So, if we have the following packages in the system:

> Foo v1, Foo v2, Foo v3, Qux v1, Qux v2, Qux v3

And the request specifies the following as the "current" set of packages in the GetUpdates request:

> Foo v1, Foo v2, Qux v1

We will respond with the following potential updates:

> (If Include All Versions is **true**): Foo v2, Foo v3, Qux v2, Qux v3
> (If Include All Versions is **false**): Foo v3, Qux v3

Fixes #1052