Added listen blocks, the server can now bind and listen on multiple interfaces

- Added listen blocks which allow for multiple binds on multiple ports
- Removed the `port' command line argument since it is now impossible to know what port is being used on what bind.
- If we fail to initialize, exit instead of continuing on in an undefined state
- Removed some debug cruft