Moved strseg_t functions into their own c file
Renamed LOG_LEVEL_NONE to LOG_FILTER_NONE

It wasn't actually a log level, so this is a better name.
Moved service constructor to its own function
Changed controller read/write handling

The controller now reads once per ctl_run(), and then just processes
commands in the buffer.  This results in fewer useless calls to
read().

Also, if write() returns a fatal error it will now close the handle
instead of retrying until the communication timeout.
Implemented control.cmd and control.event handles

Usage of the control.* special handles is now detected during
svc_set_fds, and then at service-start time I check those flags
and allocate a controller if needed, and the pipes for it.
On failure, the pipes and controller are deleted and the service
start is attempted again in FORK_RETRY_DELAY seconds.

Added a simple test case that the pipes attached to a controller
service work.

fixes #8, fixes #9