add _check_ support, C testing framework
update _buffer_ module.

- Now, _buffer_ keeps the total byte(s) in `buffer` struct.
- `BUFFER_SIZE()` provides O(1), better than `buffer_size()`.
- utility macros: `bufpos_isempty`, `BUFPOS_BEGIN` and `BUFPOS_END`.
- add `buffer_copy_range()`, similar to `buffer_copy()` except for the range.
- `buffer_load()` to load a memory chunk into the buffer.
- fixed: `buffer_flush()` can flush into the nonblocking FD.
update _hdrstore_ module

- each (name, value) pair can hold additional parameters
- `hdrstore_dump()` to dump the (name, value) pairs with parameters.
- `hdrstore_fill()` can utilize custom CB to handle parameters
- `hdrstore_load()` can handle parameters
- update _evhttpconn_ module to use recent _hdrstore_ interface
add utility functions to handle regular expressions easily

- add `re_match()` and `re_groups()`
update _xerror_ to the latest
fix a compilation error due to the modified interface of _hdrstore_ (202da8a)