Broke socket listen function up a bit

There was a huge string check for all the commands, so I moved the
associated actions into helper functions so the actual comparisons are
more readable
Added some sane options for startup without config
Simplified command parsing in router main.c

A lot of the commands had a very similar socket sending syntax, so I
lumped them together, so now the command parsing is a lot cleaner in
main.c. Next step is to do this on the daemon side
Greatly simplified command parsing in daemon
Added some more comments, reorganized a bit

also added some whitespace to spread out functions a bit. I normally
like 3 lines between functions, and a few only had one, so I went
through and fixed that
Dropped auth=none, too complex with too small gain

I hadn't even really implemented it, and it would have been incredibly
complex to implement, and I don't even know if people would have used
it. So I dropped it.
Updated router tests to account for control byte

The value wasn't being set, it was being kept at 0, so now it's
initialized to SG_SERIAL_CTRL_VALID_DATA, or 0xad currently.

I also updated my authentication unit tests to reflect some changes
I've done to the router's internal authentication framework.