Implemented a BinarySearch for Ilist<T> data that is sorted.
A custom comparer can be provided incase the data is sorted descendingly, the default expectation is that the data is sorted ascendingly.