Initial attempt at computing individual block matrices simultaneously to speed up PBP (and others) when there are LOTS of variables.  Refs #3024 #3783
re-add the legacy computeJacobianBlock() function (although it calls the new function) for backwards compatibility and for simplicity when all you want to do is compute one block. refs #3024 #3783
Fix J Integral adjacent to free surfaces ref #3898

If a crack intersects a free surface, we need to zero out the q function
on that surface for all crack front nodes except the one on that surface.
Add an option to list a set of free surfaces intersected by the crack
to do this.
Merge pull request #3899 from bwspenc/jint_fix

Fix J Integral adjacent to free surfaces
Added PolycrystalICTools and modified PolycrystalReducedIC and HexPolycrystalIC to use it for #3892
Modified PolycrystalICTools to have content in the .C for #3892
Function names start with lowercase letter.

Return types go on separate line.
Merge branch 'PolycrystalICTools_3892' into devel
Fix issue with code to correctly calculate J next to boundary closes #3898

Also convert a regression test to use this new option
Merge pull request #3866 from friedmud/block_preconditioning_3783

Initial attempt at computing individual block matrices simultaneously
Merge pull request #3915 from bwspenc/jint_fix

Fix issue with code to correctly calculate J next to boundary