Move the diff planner in the DerivativeBuilder.
This is needed for implementing the derivation of n-th derivative.
Moving out DiffPlan and DiffCollector to separate files.
Add the derivative order information to the plan.
Move includes in the cpp file.
Move the variable closer to the usage.