server: Improve error reporting.

If we fail to bind to the server address, do not try and listen lest the
reported error always be "invalid argument".

Also, return whether or not we errored from server_init() in case we
want to respond differently in the future.