Move observer related code into separate file

We want to make room in the file for monitor related functions.
Move monitor functionality into package out of function

We want to consolidate into one command, so we need to move things out of
the commands.
Consolidate cbdcc and cdbmon into the cbd command

This changes the structure into one main program with sub comands, making
deployment and building easier.
Provide proper sub-command based help and arguments for cbd

We have a table of defined commands, with extra help aliases. The desired
command line arguments are only defined when that user has selected that
command. The code layout is a little odd, because of how the flag command
works with pointers, and it's global nature.
Add a server command line argument to worker and monitor commands

It's generally easier to use command arguments vs. environment variables
for certain settings.
The worker now automatically sets it's listening port

This disables the ability to manually set the worker port, but it's better
to not have the user set the port.