Don't use reuseaddr if trying random port numbers - might as well get
entirely fresh one. Moved some utilities also to shared.h.
Allow for specifying server port # on command line, and client = 0 always.
Fixed third party processing to work even if not last (it should be always, though, if added by us). Made the server/prefix parsing more robust (support server port #s etc).