Improve precompiled header support. Refs #6615

The .cpp files that support them are now auto-generated and the files
now properly regenerate if a dependency changes.