refactor
New command: kick-job.

Implement a new command that will allow kicking jobs selectively by
their ID.
Update the protocol documentation.
Remove unnecessary header inclusion.

ctypes.h is no longer used after
cfdf505ad5867d3f409bcd05c163e522c6a8ca01.
Tolerate compilation without a Git repository.
remove dead code
update ct
stricter format checking; fix format call errors
Ensure the job is in a kickable state (i.e. Buried or Delayed).
refactor
fix bsd sock build dep
refactor
remove dead code
refactor
fix tests on freebsd

This patch was taken from
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/172405.
[doc] add protocol.md
[protocol.md] add bury description
correctly check for hangup during reserve

Revert a9d436718ad9d8c60a250dd0269feac5f1287a52.

Instead of closing the connection immediately when the client
hangs up, merely cancel any pending reserve command. We still
process any other commands that are available so that a client
can read responses if the connection is only half closed.

fixes #144
correctly log command names in verbose mode
[doc] fix job lifecycle description