Input refinement restart fix

Doing input-based refinement was broken when one wanted to also restart from a file. The problem was that the mesh was refined before the restart was read so the mesh and restart file were inconsistent. This fixes that by factoring out the input-based mesh refinement to a separate function and deferring it's call until after the restart is read, in the case that there is a restart file. This fixes the restart+uniformly_refine case.

However, the locally_h_refine case is broken. I get assertions `Assertion elem->old_dof_object' failed.` stemming from the `EquationSystems::reinit` call tracing down to `libMesh::DofMap::old_dof_indices`. Unfortunately, GitHub doesn't allow us to attach text files (seriously, WTF). @roystgnr, could you please take a look? Either myself or @nicholasmalaya have a reproducible case. Note that without a restart file, `locally_h_refine` works just fine. 

I'm thinking if @roystgnr is OK with this, we can merge this and work on the locally_h_refine bug fix in a separate PR.