Fixed servlet/client incompatibility if parentSpanId is not provided

Stumbled upon this bug when I was trying to instigate some tracing with some client code.  The ParentSpanId is an optional parameter that `JerseyClientTraceFilter` serializes in the headers, either as a String representation of the provided Long, or the String `"null"`.  The `ServletTraceFilter` of a downstream service will attempt to deserialize this parameter, but it expects either a null value (as if the header was not provided) or a String representation of a long.  It does not know how to handle the String `"null"`.

My proposed change includes a ParentSpanId header only if a value is provided, and includes some unit tests around the `JerseyClientTraceFilter` and a compatibility test between the client and servlet filters.