change sibling model, remove pointers

All pointers have been removed from the public, over-the-wire structs.
Addtionally, the way the self is represented in the participant has been
changed so that the participant only knows its index and its public key
and its address. (It knows the piecewise componenets instead of all the
components).

Two poorly-solved problems are:

how does a participant know when its sibling has been accepted into the
quorum?
how does a participant know when it's been moved to a different quorum?