Add middleware option to supply `StartSpanOption`s
This commit adds a middleware option that supplies StartSpanOptions for StartSpan() call.
Concrete use case where this is useful: adding additional tags to the span through opentracing.Tag{} option, so that those tags could be used for deciding whether to sample this span.
@lucacome drawing your attention to this since you made most of the recent contributions. Does this change make sense?
@lucacome any comments? This one from copilot seem like a false-positive:
[nitpick] Using the string literal "" to represent a missing tag in the test may lead to confusion. Consider using an empty string or a different sentinel value to clearly indicate the absence of the tag.
The test already uses "<nil>" sentinel value.
@lucacome in case you do not have time, maybe there's someone else who could do the review of this PR?