Redo expand cc h macros

Hi Tom - Reason for this change: Currently, the EXPAND macros are executed at build time only, which means that the headers are not available for dependency determination by cmake during configuration. Also, it makes sense to have 3 macros in a common location instead of replicating functionality as needed. So, this branch moves the EXPAND macros into GrMiscUtils as well as adds code to do the expansion during both configuration and build, as well as when a dependency changes. It works nicely for me within MacPorts, and is important for use there because generally one does an "upgrade" from prior code -- with the current codebase, the already-installed headers are found by cmake and used as dependencies. I think the compile works with the internal headers correctly, but it is annoying that the dependencies are not found correctly, and the solution is quite simple. I'm not sure if we need to do the EXPAND at both configure and build, but I think it does not hurt either. I did not test the redoing EXPAND when a dependency changes, but I did not change that code so it should work as before. Thanks! - MLD