Fix Test_NUnit_*.EntitySet.RemoveAt() unit tests.
Fix Test_NUnit_*.EntitySet.RemoveAt() unit tests.

The problem was a "double removal" in EntitySet<T>.RemoveAt():

	public void RemoveAt(int index)
	{
		OnRemove(Source[index]);
		deferred = false;
		Source.RemoveAt(index);
	}

The problem was that OnRemove(Order) order would cause this method call chain:

	OnRemove(Source[index])
	-> Customer.detach_Orders(Order)
	-> Order.Customer.set(null)
	-> previousValue.Orders.Remove(this)

Thus, OnRemove(Source[index]) removes the Source[index] element!  Then we
later called Source.RemoveAt(index), but since the element had already been
removed (indirectly via OnRemove()), we removed a *second* element.

Oops.

We don't want to rely on OnRemove() actually removing elements, so instead we
perform the Source.RemoveAt() *before* the OnRemove() invocation, thus
preventing the double removal.


git-svn-id: 1800f71f313d917366f95485fa960eed04b40598@1108 33146b6e-df29-0410-a1ca-39be37fb9416

sharique/dbinq,Sectoid/dblinq,Sectoid/dblinq,sharique/dbinq