FiniteStrainPlasticBase can now apply strain increment in small substeps

Fixes #3774

It would be even better if FiniteStrainPlasticBase could
signal that it failed, even after applying all these small
substeps, and hence cut the timestep for the entire
mesh.  I'm not sure how to do that, and it wasn't the
point of this issue.
Fixed bugs in derivatives.  Oh my goodness, how did these get coded?!

Fixes #3787

Some tests needed re-golding to fix minor discrepancies.
Merge pull request #3788 from WilkAndy/mc_deriv_3787

Fixed bug in derivative.  Fixes #3787
Fixing a typo (refs #3792)
Replacing tabs with spaces (refs #3792)
Resolved dependency issue with --recover
(closes #3674)
When running in threaded mode, cleanup unwanted checkpoint files (closes #3792)
This second commit Fixes #3786.

Debugging tools used by developers have been refactored to make
them, hopefully, a bit more useful.  This is probably an ongoing
task, but this iteration is certainly better than the last!
Merge pull request #3776 from WilkAndy/subdivide_3774

FiniteStrainPlasticBase can now apply strain increment in small substeps
Merge pull request #3793 from andrsd/threaded-restart-fix

Threaded restart fix
Merge commit '233eb0b9a315a5afcd07b01cd36ddad7e756b355'
Merge pull request #3794 from aeslaughter/recover-3674

Resolved dependency issue with --recover
Merge commit 'fc0e178ce2c897df2978a085b799d5a08921b5ff'