Split makeonepcm into configuration, generation; parametrize output file name.

makepchinput.sh determines which headers, linkdefs, flags are to be used for
ROOT's PCH. It is called by ROOT's Makefile.

makepch.sh uses that information to produce a PCH; it takes optional additional
arguments to include user headers in a user PCH replacing the default one from
ROOT.

(cherry picked from commit a35bea435c37e8ec478fa32d83be58ef42776cee)
Fire up new makepchinput.sh; copy and run makepch.sh.

(cherry picked from commit c551420fd656280aa0da1e3c46789652557d75a6)
Follow change in location.

(cherry picked from commit b8c123cee2be7b2bccdfbf79e3cbf2f116527e45)
Make PCH file user settable through $ROOT_PCH.

(cherry picked from commit 8ab3709ad7e09bbcc4a8014038c65313423c7ebd)
Use rootcling not rootcling_tmp. Get cppflags from $rootdir.

(cherry picked from commit 5c94090aaff8e4f1fc9bccdcdd6fcbe70eb19fed)
Move makepch.sh to etc/dictpch/ to make it accessible in installs.

(cherry picked from commit 130f21a6ce48633e094ca2daa5ff9d9298950ec5)
Fix flag output file name.

(cherry picked from commit 6fa6f30e89fc6c24c8bb86a70a26f2430ac455b2)
Complete the work of Axel on user PCHs for CMake.

(cherry picked from commit bdf51505284d8119b987196a53ba6742ba755eb7)
Filter ROOT source and build dir from cppflags.

(cherry picked from commit 6abd3f647b514c7248a00e5badb60e77386e3f67)
Make LinkDefs accessible even when ROOT sources are gone.

(cherry picked from commit ac62e2f54d4cad35890f69e381713ba70167d0e8)
Copy *all* Linkdefs over; we cannot tell which ones are #included.

(cherry picked from commit 2be979e5b11883fa34e444c55442b23fddc30ac3)
Define ROOT_PCH; use it to filter headers available only at build-time.

(cherry picked from commit 8061dd576da25648492b037622d0a7813f773c2b)
Forgot critical "." for find.

(cherry picked from commit c4cf4af78b90ee678a27bdc9f3f46a87b2b2d3ef)
Memory error: getSpelling() returns a std::string (thanks, valgrind).

(cherry picked from commit 9a2a32e21b5c3db3059d10e617b1c279c5b26f1a)