Adds headers where necessary to eliminate indirect includes. Also adds headers to ensure certain standard constructs always resolve correctly
This way we're not submitting empty buffers when it's unnecessary.