fix runtime assert to assert if !expr...

welp, that's a bit embarrasing.  Also print out a more meaningful
message.
nbio scheduler adjustments for OSX

- Don't treat EV_EOF as an error condition.  It can be asserted even
  when there is data pending read in the kernel buffer; if the remote
  does SHUT_RD but is still connected we'll get EV_EOF.
  Instead, we detect EOF by attempting to read.  Adjust debug_console
  accordingly.

- Because of this difference, the socket dispatcher will attempt queue
  up an nbio mask manipulation for read, then queue up a subsequent
  clearing of the mask during free.  Our STAILQ stuff will corrupt
  the list if you attempt a double insert and this leads to badness.
  So we need to use a flag to determine if we have a pending item.
Don't leak bufs and streams in the debug console

There's some slight irony in that checking the memory usage could leak
memory.
fixup quickstart example

Also advertise the cares dependency in the pkg-config file so that
we can use the simple compiler invocation I've just added to the docs.