solution_transfer sounds like an improvement for the dir name.
Great - done.
SolutionTransfer is the abstract base class name that'll eventually
cover both your and Ben's new capabilities, right? If so then great.
Yep, I'm also going to make one more that just serializes the solution vector of the "from" System and uses MeshFunction to interpolate it to the "to" system. This will be the most straightforward one that will work in the case you disable everything else... but of course it won't scale well.
I'm going to put in a Factory that will do intelligent selection of which SolutionFunction is built based on what you have enabled at configure time (just like NumericVectors, SparseMatrices, etc).