* Fix some tests to PickPort correctly
* Add retry logic for two socks tests
Two socks tests listen for both TCP and UDP with same port number, in some cases the port is not available
Add retry logic for server core, start server core and client core separately
Extract a common method
* Add retry logic for two dokodemo tests
Two dokodemo tests listen for 5 ports, in some cases they are not available
Add retry logic for client core, start server and client separately
* Increase some tls test timeout
* Fix TestUserValidator
* Change all tests to VMessAEAD
Old VMess MD5 tests will be rejected and fail in 2022
* Chore: auto format code
* Added test for no terminate signal
* unified drain support for vmess and shadowsockets
* drain: add generated file
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>