Allow users to override compiler settings

This is helpful when one uses distcc. If you configure libmesh with
CXX='mpicxx' and then you want to use distcc, you have to go back and
reconfigure libmesh. This allows people to supply the libmesh_CXX, libmesh_CC,
libmesh_F77 and libmesh_F90 variables, thus using distcc without libmesh
reconfigure.

Closes #4171