TensorMechanicsPlasticWeakPlaneShear is now a baseclass for this
plasticity, with cohesion = tan(phi) = tan(psi) = 1.

Derived from this is Cubic, Exponential and Gaussian, which are
different hardening models.

Tests updated to reflect this.  One test added that tests the newly-added
Cubic hardening

Doco is at http://mooseframework.org/wiki/PhysicsModules/TensorMechanics/WeakPlaneShear/

Fixes #4139
TensorMechanicsPlasticTensile now has tensile_strength = 1, and therefore
acts more-or-less as a baseclass.

TensileCubic and TensileExponential derive from this, with different forms
of hardening laws

Tests modified appropriately.  small_deform_hard3 test added to demonstrate
correctness of the newly-added Cubic hardening law.

Fixes #4139