Fix SafeLibev compilation error
Update default gdbinit
Introduce ServerKit, MemoryKit and some new data structures
Continue working on ServerKit.
Continue working on ServerKit.
Reduce number of reference count manipulations in FileBufferedChannel
Use raw system calls instead of OXT wrappers

This reduces the number of atomic operations
Update Channel documentation
Add unit tests for Channel
Add unit tests for LString
Add unit tests for mbuf
Add unit tests for HeaderTable
Reorder some code for better cache locality
Allow Channel data callbacks to end consumption prematurely
Allow Channel to report back the number of bytes its data callback has consumed
Implement FileBufferedChannel::feedError
Fix FileBufferedChannel bug
Make HttpServer work with the recent Channel changes, and implement support for request bodies
Optimization: use boost::container::vector instead of std::vector in ApplicationPool2 for post lock actions

The Boost version does not allocate memory in its default constructor.
Optimize the priority queue in ApplicationPool2.

Replace the fibonacci heap with a d-ary heap. The former is an in-place data
structure that's backed by a vector, and thus has great CPU caching behavior.
This makes it perform better than a fibonacci heap despite worse algorithmic complexity.