move to uproxy-lib 9.1
Merge branch 'trevj-churn' into trevj-direct-one-device
have pipe.getendpoints return object with address and port fields
create tested methods to manipulate candidate lines
improve comments, move some code around