implementing an api call which facilitates terminal windows for plugins

fork a child, setup libvterm terminal and make screen change callbacks.
converted aug.c to use child.c functions for child IO
created api call for creating a new terminal in a window
implemented api_new_terminal
implemented run_terminal api call
terminal api call renaming
implemented terminal delete and pid api calls
added terminal panel to api_test
aug now correctly reaps children processes

keeps track of which terminal children have
terminated so plugins will know.
finished implementing terminal api call

random seg faults :(
needs debugging
err_exit now outputs the file and line number
exit IO loop if input fd is closed or bad
fixed segfault

libvterm was dereferencing the resize callback pointer. since i
was not initializing it, things would be fine when it happened to
be zero (libvterm would not invoke the callback), but when it had
some garbage value it would cause a segfault
tests to ensure sigchld is blocked in plugin routines
working on getting rid of pipes from plugin to main for terminals
fixed child thread join hang bug

when a plugin attempted to kill a child process
created for a terminal, the master pty associated with
that terminal was not being found as readable by
the select call in child_io_loop and thus when
the plugin joined the IO loop thread, it was getting
stuck. this isnt exactly fixed, as i have no idea why
this happens, but opening a file before forking the child
(so both processes share the descriptor) fixes the issue.
obviously i have no idea why this works.
added some documentation on when terminal_terminated is accurate
refactored child_io_loop to allow multi-thread refreshing

now all the relevant variables to refresh timing are stored
in the module structure (which is synchronized by mutex) so
that a thread besides the IO loop thread can cause a refresh
to happen.
implemented termina_input and terminal_input_chars api calls

still working on testing it properly
tests for writing to api terminal