Fixed bug in the s_header_value state

If the buffer ended with the '\r' char on the s_header_value state, the parser triggered the on_header_value() callback twice (buffer="data\r"): 1st time with "data" and 2nd time "data\r" resulting in "datadata\r" instead of "data".