Corrected oversampling seg. fault

This corrects oversampling bug and adds support for second order lagrange and does not re-create the MeshFunctions unless it is needed.

closes #3425
How do you determine the order of a Mesh, it may contain elements of various types and orders, so what do you use? I am not seeing anything in libMesh::Mesh, but I may be over looking it.