Notable changes:
1. There's no need to cast header to the PCHHEADER type.
2. There are two separate type "C_PCH" and "CPP_PCH", that
use C and C++ compilation respectively.
Most of the patch sumbitted by Ilya Sokolov.
tools/
* builtin.jam (class dummy-generator): New.
* gcc.jam: Override extension of the PCH type.
(class gcc-pch-generator): New.
Register generators for C_PCH and CPP_PCH.
(compile.c++.pch, compile.c.pch): New.
* msvc.jam (class msvc-pch-generator): New.
Register generators for C_PCH and CPP_PCH.
* pch.jam: Remove 'PCHHEADER' type.
(pch-generator): Fail unlress it's used at top-level
generator.
Register catch-all produce-nothing generators for PCH-less
toolsets.
[SVN r35508]