Fix a couple of warnings.
Test header self containedness

Build a test executable for each header. This ensures all header files are self contained.
Make headers self contained