Large commit - base class for TensorMechanics plasticity + extras

Utilities involving newton-raphson linear solve

refactored plasticity models to use the base class

Is there any issue with this?