Updating encoding packet header
Add header file for array_utils.
Add header file for encoding_symbol.
Add header file for padded_byte_array.
Add header file for array_data_encoder.
Add header file for array_source_block_encoder.
Updated internal constants with calculated values
Removed need for internal byte shift constant
Formatted existing files, restructured encoding packet class
Make encoding_packet non virtual and remove subclasses.

 - can now create packets using encoding_packet(ARGS, symbol::TYPE)
   constructor.
Fix error with merge

- make `encoding_packet::symbol(void)` non virtual
- move `symbol m_symbol` to encoding_packet from source_packet.