Backport "soreuseport: UDP/IPv4 implementation"

The commit ba418fa357a7b3c9d477f4706c6c7c96ddbd1360 on net-next.git
Backport "soreuseport: TCP/IPv6 implementation"

The commit 5ba24953e9707387cce87b07f0d5fbdd03c5c11b on net-next.git
Backport "soreuseport: UDP/IPv6 implementation"

The commit 72289b96c943757220ccc681fe2e22b46e21aced on net-next.git
Merge pull request #55 from Rover-Yu/master

backport the remaining part of SO_REUSEPORT features