Implement IList for ReactiveCollection

This is one approach, continuing down the line of abandoning Collection<T>. Another alternative would be to either revert 7f7089b84cf4b971c2d604bff3b4a1c51ce9e96f entirely, or to scrap the custom IList / IList<T> implementations and derive from List<T> (since _inner is a List<T> already). However I suspect either of those options would probably re-introduce the headaches that removing the dependency on Collection<T> solved in the first place.