Updated API doc to redefine terminate command

The commands are now terminate and shutdown, with the first being
an instant exit or exec, and the second being an orderly shutdown.

Terminate now has optional arguments of the exit code and the
failsafe guard value, so that failsafe doesn't have to be disabled
first.
Began large refactor of controller commands
Large refactor of service object

Service "meta" value no longer exists.  The "args" and "fds" values
are now lumped into one pool of "variables", where args and fds are
two of the possible variable names.  More variables will follow as
needed.  This makes new dynamic-size values much easier to add, and
cleaned up a ton of ugly code.