Update for new effects
Add Marshal class
syntax rules removed since Idris bug was fixed
Check sender when receiving from a process

If it's the wrong sender, keep looking through the queue then put the
original message back at the end of the queue.

(There is probably a better way. I haven't convinced myself that this
won't accidentally cause a deadlock. Intuitively it seems not since we
follow a specific protocol and we'll just move on to the next expected
sender anyway.)
Update examples
Added proof to util server protocol
Update to work with neweffects 'run' API
Add 'Marshal' class

This allows values to be send across a channel in some intermediate
format. Receiving may fail, but in a way defined according to the type
class.

The intention is that programs in the protocol DSL don't have to worry
about failure - this should be dealt with in the effect handler in some
way appropriate to the communication protocol.
Begin code for transmission  over network sockets
Add IPCValue

Idea is to support verification of communication with an external
application via stdin/stdout. Doesn't work very well though...
Change to effects
Add 'Rec' construct for recursive protocols

Meaning that they can be evaluated at compile time without need for an
assert_total, as long as they are properly constructor guarded (and it'd
be surprising if not since protocols are just described in an AST...)
Add explicit Rec

This means mkProcess is total with the new coinduction implementation,
at the expense of having to be explicit about where recursion happens in
MSG programs.