Merge remote-tracking branch 'upstream/develop' into sam_raet_4
Reorganized packet to better support encrypt/decrypt nacl
Added tests for nacling.py
Adds support for updating cached git repo url.
Fixes #10408
setting up signing encrypt etc with revised packet format
some fixes for transactions
add "creates" kwarg to cmd.run
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
Add state and execution modules for getting/setting salt process environment variables
Solidified naming convention for Transaction Initiator and Corresponents
Added timer to transaction
added safe remove transaction
added process to transaction
utils: simplify flopen()
utils: simplify flopen() usage

Make flopen context manager that automatically unlocks file on __exit__
(if fcntl is supported by the platform)
fileserver: move stuff oout of critical section
Preliminary work on curvecp handshake
Accept and Endowed only apply to remoteDevices
Fixed bug in .remove() usage