Adding MaterialPointSource and associated test.

It is a DiracKernel test that uses a MaterialProperty, is has been
implemented by an earlier patch on this branch.

If uncommented, the print statement in computeQpResidual() should show
that the MaterialProperty is being evaluated at the DiracKernel point.
Make MaterialData::swapBack() more robust.

Only swap back if the MaterialData has been swapped in the first place.