* RFD 12: Teleport versioning
This is a new versioning scheme for teleport releases.
It's similar to the current scheme, and keeps similar compatibility
guarantees.
The new scheme aims to be more intuitive (semver-like) to implicitly
communicate to users what the semantics of different version bumps are.
`require` is a sister package to `assert` that terminates the test on
failure. `assert` records the failure but lets the test proceed, which
is un-intuitive.
Also update all existing tests to match.
This commit introduces GRPC API for streaming sessions.
It adds structured events and sync streaming
that avoids storing events on disk.
You can find design in rfd/0002-streaming.md RFD.