Improved BlockingCollection.AddAny.

**Fixes:** [#22775](https://bugzilla.xamarin.com/show_bug.cgi?id=22775).
BlockingCollection.Add was adding one more item than it should.
AddAny no longer consumes OperationCanceledException.
AddAny no longer blocks while adding an item to the first collection when its full.
If collections has no elements or one element is null then CheckArray would throw and exception before while(true).