Split HartreeFockSolver into base and RestrictedHartreeFockSolver