conncheck: add a self test function

This function tests:
 * if priorities are consistent in the check list
 * if local and remote candidates are distinct for each pair
 * if local and remote candidates transports are consistent
 * if local, remote and pair socket pointer are consistent
 * if local candidates have distinct address and base address
 * if candidates transport and sockets types are compatible
 * if the check list if sorted according to priorities
 * if the stun retransmit flag is set consistently wrt the nominated pair
 * if the selected pair is the first nominated pair in the checklist
 * if pairs in state waiting and frozen per foundation are compatible
   with RFC8445
 * if local candidates have different port numbers
 * if stun transaction list matches with in-progress pair state
 * if stun transaction list matches with the retransmit flag
 * if component state is compatible with the number and type of the pairs
 * if remote candidate transport is compatible with the nomination mode
   and controlling role
 * if the number of nominated pairs is compatible with the nomination
   mode and controlling role
11 jobs for self-tests in 4 minutes and 45 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  Build
passed #2793040
build autotools

00:00:54

passed #2793041
build meson

00:00:25

passed #2793043
1809 windows docker
build msvc amd64

00:04:35

passed #2793044
1809 windows docker
build msvc x86

00:04:41

failed #2793042
1809 windows docker allowed to fail
build msys2

00:01:50

 
  Test
passed #2793047
distcheck autotools

00:02:11

passed #2793050
doc-and-install meson

00:00:34

passed #2793045
test autotools

00:01:48

passed #2793046
test autotools valgrind

00:03:02

passed #2793048
test meson

00:00:58

failed #2793049
test valgrind meson

00:01:09

 
Name Stage Failure
failed
build msys2 Build
Git branch:   12-10-stable
GO version: go1.13.8
Built: 2020-04-22T19:51:52+0000
OS/Arch: windows/amd64
Uploading artifacts...
WARNING: build/meson-logs/: no matching files
WARNING: build/build.ninja: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 3221225477
failed
test valgrind meson Test
==165== For lists of detected and suppressed errors, rerun with: -s
==165== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 22 from 22)
-------

Full log written to /builds/bellet/libnice/build/meson-logs/testlog-valgrind.txt
Uploading artifacts...
build/meson-logs/: found 4 matching files
Uploading artifacts to coordinator... ok
id=2793049 responseStatus=201 Created token=1zAw7BJH
ERROR: Job failed: exit code 1