make churn and its samples work with freedom.js v0.6

Pretty much the same as the other sample apps.

Depends on:
https://github.com/uProxy/uproxy-lib/pull/90

One thing I noticed about churn is that it didn't like RFC 6544-style "TCP candidates". So I've made `extractEndpointFromCandidateLine` a little more tolerant.
Pretty much! I've rarely encountered a good reason not to have a getter (in fact, not sure I've ever seen one).

For example, we have this messiness in some of our tests (a getter function could be supplied to the `then` function directly):
https://github.com/uProxy/uproxy-networking/blob/dev/src/socks-to-rtc/socks-to-rtc.spec.ts#L153

That's separate to the usual encapsulation/immutability arguments.