Merge remote-tracking branch 'upstream/develop' into sam_raet_4
Reorganized packet to better support encrypt/decrypt nacl
Added tests for nacling.py
setting up signing encrypt etc with revised packet format
some fixes for transactions
Much more transaction support cleaned up join transaction
Refactored module organization now have transacting.py and devicing.py split out of stacking.py
refactor name of udp stack deques
Added PacketError Exceptions for packeting failures
Wrap packeting function invokes  in PacketError try excepts
Rename to be more consistent
Refactored RaetError exceptions to include specific exceptions per module
Swith names of Joiner and Joinee
Joinee is now initiating transaction from device that wishes to join
and Joiner is corresponding transaction of device that is accepting the join request
More consistent naming
Solidified naming convention for Transaction Initiator and Corresponents
Added timer to transaction
added safe remove transaction
added process to transaction
Preliminary work on curvecp handshake
Accept and Endowed only apply to remoteDevices
Fixed bug in .remove() usage
normalize naming
More support for CurveCP
renamed _nonce method to nonce since used outside
curvecp endowment transaction mostly coded
Added add transaction methods for convenience
More code fixes for CurveCP endow tansactions