Implement multiple-valued headers handling.

- On sending, join more than one values for one field name with separators "\0".
- On receiving, do the reverse of the above, except for cookie values are separated with "; ".
- Connection's on(:headers) now receives an Array of key-value array, instead of a Hash.
Update examples