GenericKernel
GenericKernel acts as a switch between the AD/non-AD base class for objects that calculate residual vector contributions of nonlinear scalar field variables.
This effectively allows a class to either inherit from Kernel for the non-AD or ADKernel for the AD case via the boolean <is_ad>
.