Allow TFTP server to take a host/port argument

Otherwise you will tend to listen on your default ipv6 'any' address and
bound to udp6 port 69, assuming you haven't bothered to disable your
automatically-enabled ipv6 stack.

This is almost never correct.
Make the path options required and use /tmp

Otherwise it's impossible to run this module without setting the options
which were not otherwise validated anyway.
Since dirs are required, server will send/recv

This does change some of the meaning of the required-ness of the
directories. Before, if you wanted to serve files, but not receive any,
you would just fail to set a OUTPUTPATH.

Now, since both are required, users are required to both send and
recieve. This seems okay, you can always just set two different
locations and point the one you don't want at /dev/null or something.
OptPath, not OptString.
Land #3077 - Allow TFTP server to take a host/port argument