use a linked list instead of a flat array to store the filedescriptors

this allows getting rid of invalid/closed filedescriptors as well as
removing the limit on the number of output filedescriptors

NOTE: it's now also possible to extend the interface to add/remove
      fildescriptors to/from an existing iomtee instance
Merge branch 'master' of https://github.com/xant/libiomux