Macro functions

This is a series of patches that refactors some of our macros to reduce header file dependence in libmesh_common.h