Logger autoclosefds options

3bdb286 Ability to pass in own logger object if I have it already configured. Default value is None, in which case original logic of create logger, add syslog handler etc is run

a2cfbc5 Added auto_close_fds (default True) which can be set to False in case we don't want fds closed automatically. This was useful in one of our projects where the main program kept running and doing other things

1ef1325 Changed os.dup code to redirect 0,1,2 to dev null rather than closing and opening the fds. This is a bit more resilient/deterministic