Cherry-pick of 60e44286fa3c0c0 from master branch does not work due to missing `tls.CipherSuites()` function. We work around by using go build tags for both the building and tests.
In fact this commit rewrites the functionality to use upstream list of ciphers instead of checking whether the lists are in sync using ast analysis.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>