Parse a traceparent header value, without any vendor state.
The grammar is W3C Trace Context §3.2:
version(2)-trace-id(32)-parent-id(16)-trace-flags(2)
A version this library does not know may append fields, but only after a -:
00 headers end at 55 characters, and 00-…-01.whatever is refused rather
than read as a version-0 header with a suffix. Version ff is refused by the
specification, as is an all-zero id.
Whitespace around the value is dropped. HTTP allows OWS around a field value,
and W3C Trace Context's examples send it; whitespace anywhere inside is refused
as the illegal character it is.