Fixed DefaultIfEmpty support when a default value is provided. Added lots of  DefaultIfEmpty tests. Made Sum, Min, Max, Average LINQ methods match the behavior of LINQ to objects when collections are empty (Sum always returns 0, Min, Max, Average return null or throw if the type is not nullable).