Change SmartDeposit to use LINQ query, fix empty=OTHER bug.

Also, GetItemCopies() now returns null if there were no items to add the list.  But the Sort() function is again the only method to call GetItemCopies, and now returns immediately if it gets a null result.
Actually, OrganizeItems received the null list; now checks for it
add categories