Fix the echo example

The behaviour of gen_tcp:listen/2 seems to have changed at some point:
if a non-zero port is passed in, the inet driver attempts to bind this
port, even if an 'fd' parameter exists in the options.

Setting the port to 0 seems to force inet to use the fd option.
Attempt to run the setuid helper twice

In many situations, the procket setuid helper may be permitted to bind
the socket without any extra work:

    * beam could be running as root
    * the helper could be setuid or setgid
    * the process may have a capability set
    * the process may be permitted to access a device file or port

Simplify the convoluted logic for launching the procket setuid helper
by running the helper twice: without sudo and with sudo. If the caller
wants to suppress this behaviour, the 'exec' option can be passed in to
open/2:

    procket:open(23, [{exec, ""}]).