use a (macro-based) linklist to keep a list of active filedescriptor

to avoid iterating over the main array where the connections are stored
since it contains many holes and wastes cpu cycles (because of cache misses and such)
when handling a big amount of connections