Large commit - base class for TensorMechanics plasticity + extras

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

I like having them directly in computeQpStress, so it is obvious to the user when and how the strain is calculated. It does bring up the question, what kind of things will be done in preReturnMap() and postReturnMap()?