Extensions for using custom sorting in Linq chains
An implementation of DotNets IComparer that uses a Func to sort/order