Change ProductHeaderValue to be more sane

The member variable should be readonly. We were setting it outside a
ctor via a static method, but that's not the right approach. I fixed it.