vlib: fix potential crash in dispatch_node ELOG_DATA call
vlib: fix potential crash in dispatch_node ELOG_DATA call

dispatch_node may be invoked from vlib main or worker threads. The call to
ELOG_DATA in dispatch_node passes the parameter &vm->elog_main. It works fine
when dispatch_node is invoked from the main thread. It does bad thing when it
is invoked from the worker thread.

While we are at it, make two additional enhancements to the same area.
1. Use ELOG_TRACK_DATA instead of ELOG_DATA to enhance g2 viewer presentation.
2. Since ELOG_DATA is in the data path, it could get very chatty. Make the call
to ELOG_TRACK_DATA conditional compile.

Change-Id: I80ca0eea10bc1e5d0d5549f9844dd9a34dbb65a2
Signed-off-by: Steven <a748ea44ad7b179c2313a856d44e1e4eb39869bb@cisco.com>

FDio/vpp,milanlenco/vpp,vpp-dev/vpp,milanlenco/vpp,vpp-dev/vpp,milanlenco/vpp,chrisy/vpp,FDio/vpp,FDio/vpp,milanlenco/vpp,milanlenco/vpp,chrisy/vpp,chrisy/vpp,chrisy/vpp,FDio/vpp,vpp-dev/vpp,FDio/vpp,vpp-dev/vpp,chrisy/vpp,chrisy/vpp,chrisy/vpp,vpp-dev/vpp,FDio/vpp,FDio/vpp,milanlenco/vpp,FDio/vpp,vpp-dev/vpp,vpp-dev/vpp,chrisy/vpp