PLINQ was added in the .NET 4.0 Framework as an extension to LINQ. What is it? What problems does it solve? When is it appropriate and when not?