Write IR data out to persistent store. IRReader is capable of re-reading this
information back into live IR data again. This class knows the logical order of how
information will be written out but the IRWriterEncoder actually knows how to encode that
information.