DTLS shutdown deadlocks if Close is called before startup completes,
because the DTLS connection hasn't finished yet we don't have handles
to close anything.
This updates DTLS to follow how SCTP is shutdown, by shutting down the
nextConn (ICE in this case) we can shutdown the subsystem. By closing
ICE first, DTLS (and then SCTP) close properly no matter what state
they are in.
Resolves#487
Also reformat unit test to add test names so it's easier to track
individual test cases in the table-driven test.
Increases test coverage in peerconnection.go. Enough for us to merge?
Relates to #408