Add endian.h header for byte order detection. Ensure that headers can be
included individually.