Tweaked porpGib things, including unit testing.

* Changed how initialization works with PorpNode.LocalNode and
PorpAddress.Client/Server properties. It's still not very good, but now
instead of composing through DI in ctor, I leave this composition to be
controlled by the app. This avoids circular DI stuff that I will need to
tackle eventually, e.g. Creating PorpNodeBuilder initialized LocalNode
which when composed needs PorpNodeBuilders injected, which haven't
completed being added to container. These problems could be more general
as well.
* Added unit testing to mimic IPorpNodeBuilder properties explicitly,
exactly as I am implementing the use case in languageGib right now.
* Other tweaks/improvements.