Implemented a BinarySearch for sorted Ilist<T> data

A custom comparer can be provided in case the data is sorted descendingly, 
The default expectation is that the data is sorted ascendingly.