FileDescriptor: add move constructor

get rid of return types from lambda functions
add socket constructor using file descriptor

Make move constructor work

added accept and listen...cannot properly pass file descriptor to socket constructor in accept

No need to check new_fd.num() -- FileDescriptor constructor does that already
Allow use of move semantics when passing lvalue

add dnsoutsideproxytcp

change to SOCK_STREAM

change to SOCK_STREAM

dnsoutsideproxy for tcp dns requests

add dnsinsideproxytcp

change assert to SOCK_STREAM

dnsinsideproxy for dns requests over tcp
Argument to lambda must be the output from accept()
Handle FIN/EOF packets correctly
https://github.com/keithw/ourtube/blob/master/http_handler.cc#L95

socket read()s aren't idempotent, need to store result in a buffer

poll() waits on two sockets here, change function call appropriately.
NB: Array name pollfds is a pointer to it's first element.

change service request to deal with FIN/EOF, change lambda argument, change poll function call

use enumerator to make address for UDP or TCP

delete default constructor, use enumerator to create socket for UDP or TCP
Use new address and socket constructors (UDP/TCP)

remove dnsinsideproxytcp and dnsoutsideproxytcp

change accept socket to const
handle TCP dns requests as well
Create sockets for tcp dns requests and pass to ferry

clean up spacing

initialize protocol enumerators and clean up spacing/names
Simplify by consolidating socket type enumerations (TCP/UDP)

change error message if no delay entered

remove tcp dns testfiles