Update the SO_REUSEADDR handling to also check for listen state. This
was muliple listening server sockets can't be created and they will
not steal packets from each other.
Reported by Paolo Galtieri [off-list ref]
Signed-off-by: Vlad Yasevich <redacted>