Overhaul of SocketServer

Summary:
Decouple initial socket_create from constructor
Allow socket domain and type to be set (default AF_INET, SOCK_STREAM)
Use domain and type to create socket on start
If AF_UNIX is specified, ensure that closing the server cleans up the file
Close on __destruct too (can't guarantee handling for fatal/SIGTERM)

make timeout configurable

Test Plan: ran, worked, etc.

Differential Revision: https://phabricator.ericstern.com/D8