Rework `CLI` to use `ConfigFile, `Process` and `ProcessSignal`

This reworks the `CLI` to use all the new logic. It now expects
a config file path and builds a `ConfigFile` to evaluate it. The
server from the `ConfigFile` is then either passed to a `Process`
or `ProcessSignal` depending on the command. Sanford supports the
same commands it did previously: run, start, stop and restart.
This makes all of Sanford's old manager, host and host data logic
no longer needed and it will be removed in a future commit.

This also fixes an integration bug. The process was passing a `nil`
ip and port to `Server#listen`. This is invalid and will cause the
server to try to bind to an ip and port of `nil`. This is fixed
by compacting the `nil` values from the listen args the process
builds.

@kellyredding - Ready for review.
@jcredding can we switch to all caps for arg placeholders, plus brackets since they are not required, and remove options since we don't use anymore?

`sanford [CONFIG_FILE] [COMMAND]`