Proto commits in dispatchrun/coroutine

These 14 commits are when the Protocol Buffers files have changed:

Commit:f21a835
Author:Chris O'Hara
Committer:Chris O'Hara

Change how array regions are serialized

The documentation is generated from this commit.

Commit:351e691
Author:Chris O'Hara

Avoid ArrayOf for strings/slices on serialization path

Commit:7e7dc19
Author:Chris O'Hara

Don't reuse memory_offset to track ID of custom serializer We need to preserve this value when a custom serializer has been registered for an interface type T. Implementations of T may have different memory offsets.

Commit:64a9f38
Author:Chris O'Hara

Intern function names Although these are likely unique, interning them with all other strings means that get more accurate stats when looking at the size of different parts of the durable coroutine state.

Commit:f297046
Author:Chris O'Hara
Committer:Chris O'Hara

Use unsigned types to represent IDs In all cases, IDs start at one; zero is used as the nil sentinel, so there's no need for signed ints.

Commit:1819683
Author:Chris O'Hara
Committer:Chris O'Hara

Remove nil type; handle nil interfaces another way

Commit:24b7af8
Author:Chris O'Hara
Committer:Chris O'Hara

Don't store type information for types with custom serializers registered

Commit:9b816b4
Author:Chris O'Hara
Committer:Chris O'Hara

Intern strings

Commit:bec56fe
Author:Chris O'Hara

Create a protobuf message to hold an encoded region of memory

Commit:51fddcb
Author:Chris O'Hara

Add a Function message

Commit:5dd2e8c
Author:Chris O'Hara

Rearrange fields for a smaller Type struct

Commit:31f9cae
Author:Chris O'Hara

Store types separately

Commit:1694692
Author:Chris O'Hara

Use proto enums

Commit:769331d
Author:Chris O'Hara

Use protobuf to frame durable coroutine state