DSL: rename "asserting" to "publish"

This should be more legible if there is less confusion with the
Nim "assert" builtin.
Add simple chat test
Make DSL blocks callable procedures
Update Preserves submodule
isNil(Preserve) is now isFalse
HMAC: Accept strings or bytes for messages without a cast
WiP! SturdyRef
Add private HMAC-SHA256 implementation
Add Tupfile for generating protocol code
Add Preserves submodule

This allows the schema code generator to be developed and tested
Add 'src/syndicate/protocols/' from commit '0ff8c2c872538c35a199846e84eb5f33fbebc5a3'

git-subtree-dir: src/syndicate/protocols
git-subtree-mainline: 7a7a6f7e4e70c016cf36bd9f545ebf509ea6e411
git-subtree-split: 0ff8c2c872538c35a199846e84eb5f33fbebc5a3
Parameterize Preserve type
Test schema code generator
DSL: rename assert to asserting

Too much of a clash with the assert builtin.
Adapt to non-throwing fromPreserve

Use the new fromPreserve proc that indicates failure with its
return value to test if a handler can process a pattern match.
0ff8c2c8 — Tony Garnock-Jones 2 months ago
Stdio transport
c2de82a2 — Tony Garnock-Jones 2 months ago
9445a71b — Tony Garnock-Jones 2 months ago
Use correct latest version of preserves-schemac