[sctp] port sctp to the new API and fix many issues
- use the new transport API
- fix locking context around to avoid race conditions and deadlocking
- fix shutdown code (segfaults and core dumps)
- properly differentiate between connecting sockets and accepted sockets and better use of fd_tracker
- abstract as much as possible socket management code from threads
- add lots of comments and debugging messages around
- simplify socket error management reported from RX thread
- rework loop timers for connect_thread to avoid thread overload
- reduce usage of _transport_addrtostr to one call and reuse link information around
- improve error handling across the board
- stop using data structs inside epolls and switch back to using fds this was necessary to avoid processing stale data from epolls and look up data from fd_tracket instead
- add listener stop function
- make functions safer to be called multiple times
- probably more.. but can't remember
NOTE: this is not the most elegant code, but it seems to be doing its job
fine.
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>