Made plinq and lazy plinq smarter

Any method which doesn't return an array (eg count, any, all) will now
always return that  value, even when used at the end of a chain.

Eg plinq::with($input)->where($even)->count() == number of even numbers