Large commit - base class for TensorMechanics plasticity + extras

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

Can't these updates be pushed to Post Return Map?