added username and group sanity checking, moved fork to after bind to prevent supressed errors, added makefile