HPPC-8551 Refactor the serialization functions

- Introduce two serialization functions in the IOutputMetaData
- Rename and rationalise some of the existing functions
- Start work on dictionary serialization functions
- Distinguish between internal and disk serialation formats
- Clean up serialisation code

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>