Reworked debugging stuff in FiniteStrainMultiPlasticity

Note that this stuff is for developers' use, and is irrelevant for ordinary users.

Included finite-difference check of dyieldFunction_dintnl

Included an explicit check that Ax=b for the solution "x" returned by the BLAS routine.
This is quite nontrivial as with linearly-dependent constraints there could have
been subtle coding bugs (but there weren't).  Also it gives developers an idea
how errors in their jacobians could propagate through to errors in return direction.

The tests haven't really changed - i've just included more appropriate finite-differencing
parameters in them to guide future developers.

Fixes #3924
Range checking for vector parameters (#3988)
Add test for vector parameter range checking (#3988)
Add missing test, restore deleted line (#3988)
Hotfix for Intel compilers
#3975
Fix teh typos (#3988)
Add tests for types and enable vectors of long (#3988)
Adjust control flow to check empty vectors (#3988)
Merge pull request #3986 from WilkAndy/multi_debug_3924

Reworked debugging stuff in FiniteStrainMultiPlasticity
Merge pull request #3989 from dschwen/vecrange_3988

Range checking for vector parameters
Use dependecies for residual UO computation
closes #3984
Consistent output for serial case closes #3996
Switch pc over to shared pointers
Merge pull request #3997 from bwspenc/jobscomplete

Consistent output for serial case
Convert Predictor to shared pointer
Convert Timestepper to shared pointer
Convert functions to shared pointers
Convert ICs to smart pointers
Switch Indicators over to shared pointers
Convert markers to shared pointers
refs #3692