Mention that restarting the scheduler is unsupported
Mention that the DNS thread pool is a part of the scheduler
Make it clearer that you need defs.h first

Addresses https://github.com/facebook/libphenom/pull/55
Allow listeners to opt out of SSL_CTX_free for ph_sock_t

Summary: SSL server contexts are relatively more expensive to create
than client contexts because they have to load certificates, keys and
perhaps also DH parameters for PFS.  The unilateral SSL_CTX_free in
sock_dtor forces a more expensive (and likely blocking!) operation for
these sorts of contexts.

This diff allows disabling the the SSL_CTX_free; when disabled, the
application is solely responsible for managing the lifetime of the
SSL_CTX associated with the SSL object that was enabled on the sock
object.

I've modified `examples/echo.c` to show how to use it in this fashion
for listeners.  The `sclient` example code remains unchanged.

Addresses https://github.com/facebook/libphenom/issues/58
Remove bundled ck
Use pkg-config to build concurrency-kit
Remove thirdparty/ck references in Makefile
Fix up travis build for unbundled CK

Since we don't bundle the library, we need to fetch and build it as part
of the travis run.
Remove libcares support

See https://github.com/facebook/libphenom/issues/57 for context

The future is most likely http://getdnsapi.net/
remove ares from travis build config too
Upgrade concurrency-kit to 0.4.1

This includes a breaking api change for ck_ring (introduced in ck
0.3.3). Applications that use both libphenom and ck_ring will need to
modify their use of ck_ring.
Fixup travis build for CK upgrade

Bump the CK version that we pull in for travis builds.

Can't use unlikely in this code branch, because the code branch is already
unlikely and the code size would grow:

```
thirdparty/ck/include/ck_ring.h:243:1: error: inlining failed in call to 'ck_ring_enqueue_spmc': call is unlikely and code size would grow [-Werror=inline]
corelib/job.c:539:12: error: called from here [-Werror=inline]
```
update readme about CK dependency
Fixup install rule for ck unbundling

Also add `make install` to travis to try to catch this sort of issue
faster in the future.
update readme about c-ares dependency
Remove ares from pkg-config deps
libphenom: test and fix bufq ad-hoc size buf

Summary:
The bug was caused by calling `select_size` to determine which
of the pre-defined buffer buckets to use and passing the result down
to the buffer constructor, which itself calls `select_size`.

If the desired buffer to be appended is larger than 64k, we'll try to use a
single ad-hoc buffer that exactly matches the size to be appended.  In this
case, `select_size` will return zero.

When `select_size` is called with 0 as the size, it will pick a default size of
8192 bytes.  When calling `ph_bufq_append` with a len > 64k we actually end up
allocating 8192 bytes instead and end up writing only 8192 but recording the original size,
and subsequently read off the end of the buffer space :-(

In the environment where this was detected, ASAN didn't catch the invalid
memory accesses.

The resolution is to simply pass the length down to the buf constructor
function; the intermediate assignment to the `buflen` is not needed and is a
remnant of an earlier incarnation of this function.

Test Plan:
Added a unit test to verify memory integrity with a range of buffer sizes.

```
brew install concurrencykit  # or otherwise install locally
./autogen.sh
./configure
make check
```
Correctly set EVFILT_WRITE for nbio emitters when using kqueue.

Summary: Fixes a typo in corelib/nbio/kqueue.c:ph_nbio_emitter_apply_io_mask
that incorrectly set EVFILT_READ when the mask parameter specified interest in
write events.
Make epoll_ctl errors fatal errors

We see this every so often and they result in a bad state, so it is
best to terminate.