add fdutils with a nonblock context manager
moved to seperate repo