Always set the reason headerfield when the status field is set, to
keep them in sync.  If you want a custom reason field, set status
first, then reason.

With this in place, HTTP1_Write() doesn't need to worry about them
being OK, and we can polish that code a fair bit.

Turn a couple of boolean arguments into more readable magics.