DISPATCH-1487: Message annotations re-write
This patch completely refactors how message annotations are processed
by the router. The primary changes done in this re-design are:
- Removal of the old parse_turbo functionality.
- Avoid all annotation process for link-routed messages
- Avoid composing all outgoing annotations on the receive path. This
is now done during qd_message_send().
- Avoid composing the trace list and ingress manually in various parts
of the code. This is now done once at qd_message_send().
- Optimize parsing of incoming annotations using the buffer_field API.
- Consolidate message compose functions into a message constructor.
- Optimize the composing of outgoing annotations by:
- pre-encoding all static key values and router id
- in-line more of the encoding code
29 files changed