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
Merge commit '5cc872d62ee7000dad605a260d1716bddc607803'