Refactor Symbol::TYPE into just a 'symbol' enum.
Add header file for encoding_packet.
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.
Modify array_utils to contain only the to_byte_array template function
Fix cpplint errors on array_source_block_encoder.h
Style fixes on paramater_io.cpp
Finish encoding_packet class.

- Make all member functions const.
- Move destructor to cpp file.
- Implemented payload(void) method
    - as_array(void) and as_buffer(void) call this as well
    - returns the payload_id, num_symbols, and symbols as a byte vector
- Implement write_to(vector<uint8_t>*) method
    - appends the output of payload to the given vector
    - add tests to test basic behaviour.
Add destructor
Revert "Add destructor".

This reverts commit c04964cec11848a2afc4aa88f4ca6e556b82e78e.
Remove destructor for encoding packet for now