Made eigenvalue and doublecontraction methods in RankTwoTensor const

Also eigenvalue routine "syev" in RankTwoTensor now explicitly
symmeterises the Tensor instead of using its upper-diagonal only.
This is convenient in finite-differencing derivatives.

Also, i try to be clever with the equal-eigenvalue case in
dsymmetricEigenvalues in RankTwoTensor where there is a discontinuity
in the derivative.  I now use a form that agrees with central differences.
This is tested in CPPUNIT.  Hopefully this will not be activated too
often in real plasticity models as discontinuous derivatives is
not a good thing in Newton-Raphson!

Added sin3Lode and derivatives to RankTwoTensor.  Tested in CPPUNIT
Tensile plasticity added along with 7 tests.

I have not tested the hardening/softening, Chandana will do
that in issue #3662

Fixes #3626
Change tolerances in many_deforms test.  This does not change the result, but i want to show users optimal tolerance choices.  Fixes #3626
Merge pull request #3663 from WilkAndy/tensile_plasticity_3626

Tensile plasticity 3626
Merge commit '122270d774d9ba420607e277cc02fc23d9e9fe7c'