Bug fix in rotations of RankTwoTensor.  Tested using CPPUNIT in unit/src/RankTwoTensor.C

Fixes #3573
This is one NASTY commit!

Here I add ReturnMapUtils, and CPPUNIT-style tests of it.  The
point of ReturnMapUtils is to solve the NASTY linear system
that is created during the Newton-Raphson process of the
plastic return-map algorithm.  I made a namespace so that i
could most easily test this using CPPUNIT separately to any
plasticity stuff

Part of #3573
Added FiniteStrainPlasticBase which is really the
heart of this sequence of commits.  Hopefully it is
a general baseclass that can be used for all plasticity
models

As an example, FiniteStrainWeakPlaneTensile has been
re-factored to use this baseclass

Part of #3573
Refactored FiniteStrainWeakPlaneShear to use FiniteStrainPlasticBase

Changed tests accordingly

Also removed some spaces at the end of lines

Addresses #3573
Substantially refactored FiniteStrainPlasticBase by including
most of ReturnMapUtils into it.

Also included a lot of debugging features that will be useful
for future developers to debug their plasticity models (eg,
debugging dyieldFunction_dstress).

Also reworked calculateConstraints, calculateRHS, etc, so that
the code is more clear (might be slightly less efficient this
way, but that's too bad for now).

Altered tests so they crash if max_iterations is exceeded or
the line search fails.
Removed ReturnMapUtils and its tests.  Fixes #3573
Unsigned integer comparisons fixed.  Fixes #3573

Also renamed dirn by epp, and changed the input-file string
direction_tolerance to ep_plastic_tolerance
Merge pull request #3592 from WilkAndy/nr_util_3573

Large commit - base class for TensorMechanics plasticity + extras
Merge commit 'bdc64e2a2fb5767eed70928c9c84c7efbba605ef'