Converted signal.c to a queueing design

This allows signals to be delivered in the order they were received.
If too many signals arrive too fast, they can still be dropped.
Updated service.c to use new Red/Black API
Moved sig_name from service.c to signal.c
Finished most of controller (not including commands)
Finished converting service.c to use new RBTree API
Finished converting fd.c to use new RBTree API
Cleaned up lots of compile errors and missing utility functions

Code now compiles, and almost links