add port/1 function
notify libutp when driver drains its read buffer
changes to accept, changes to options, and more tests

Reimplement accept on top of async_accept. Fix a race condition in the
Listener to prevent multiple acceptors from trying to accept the same
single connection.

Drop the async_accept listen option and the fd option.

Add tests to the gen_utp_opts module. Add more tests for gen_utp.