Add reaction calculation in TensorMechanicsAction

#4190 
@cpritam @tonkmr Please review them.
For hardness update and temporary variables, I commit the changes we talked about. @cpritam 
This change is intended for single crystal rotations in a general material, like linear elasticity material, not necessarily crystal plasticity.