Refactoring the structure of message processing

Separate the pack and unpack operations for each of the different
message types to keep better track of the purpose for each
implementation.
The unique types managed in Hg are:
- Fundamental
- Bit-List (Bit-Field)
- Nested (Struct)
- Array (Fixed-size homogenous sequence)
- Vector (Dynamically-sized homogenous sequence)

Developing tests to verify the different combinations of fields that can
be held within the array and vector in TestFocusedDynamicMessageSuite.h.