Adding signatures to multicast frames, work in progress, does not build yet
Factoring out packet decoder from Switch to put that object on a little bit of a diet. Work in progress, wont build yet.
More major Switch refactor work... still in progress.
Work in progress...
More work in progress on Switch / PacketDecoder refactor.
It builds now. The Switch object has been put on a diet. Now to test on the testnet before merge to master.
A bit more minor cleanup before testing.
Little cleanup and docs.
Several bug fixes in newly refactored code.
Merge branch 'adamierymenko-dev' of 10.211.55.2:/Users/api/Code/local-ZeroTierOne into adamierymenko-dev
Update bloom filter for MULTICAST_FRAME retransmit, and temporarily add abort() to catch gremlin
Bunch of little bug fixes in newly refactored code.
Minor improvement to multicast propagation algorithm.
Add a fast non-cryptographic PRNG.
Compile fixes, integration of fast PRNG.
Cleanup, comments, regularize TRACE messages.
Simpler variant on multicast propagation algorithm seems to perform better by being less deterministic. May also be faster.
0.3.0: BREAKS PROTOCOL BACKWARD COMPATIBILITY

This version is not compatible with versions prior to 0.3.0, so
'git pull' and restart if you are following the alpha.

Changes from 0.2.5:

 - All multicast frames are now signed by the original sender. This
   will permit very efficient and fault tolerant rate limitation
   across networks, and imposes a kind of "hash cash" cost on those
   who wish to flood the network by forcing them to keep regenerating
   new identities.

 - Simplified peer last unicast / last multicast accounting.

 - Improvements to multicast propagation algorithm to achieve better
   coverage with less redundant messages.

 - The bloated Switch class went on a diet, having packet decoding
   broken out into PacketDecoder and multicast propagation algorithm
   broken out into Multicaster.

 - Multicaster is implemented as a template mockable class to permit
   future simulations of huge scale multicast using the actual code
   instead of mockups in another language.

 - Introduced a faster non-cryptographic random source for things
   like multicast propagation and address choosing.

 - Some code cleanup, removal of outdated comments, etc.