Proto commits in mcy/pz

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

Commit:f6ec4e2
Author:Miguel Young de la Sota

Explode the pz crate into three separate crates. This is intended to make rust a "less special" language. The result is three new crates: - pz in ./rust, which is the core runtime. - pz_plugins in ./rust/plugin, which is where plugins implemented in Rust live (which should just be the trivial bundle plugin and the Rust plugin itself). This depends on pz. - pzc in ./pzc, which is the compiler. This depends on pz and (for the time being) pz_plugins. Eventually it would be good for the Rust plugin to not be the same executable as pzc, but the goal of this change is expediency.

The documentation is generated from this commit.

Commit:4eec9f6
Author:Miguel Young de la Sota

Implement import resolution, add plugin.pz

Commit:fd4b506
Author:Miguel Young de la Sota

Add attribute support

Commit:6b33c9c
Author:Miguel Young de la Sota

Move away from using env vars to communicate with plugins

Commit:39489f6
Author:Miguel Young de la Sota

Wire up a preflight plugin command

Commit:e478448
Author:Miguel Young de la Sota

Add a protoc-like plugin system

Commit:ebe2d87
Author:Miguel Young de la Sota

Add semantic analysis and a basic driver

Commit:ded7664
Author:Miguel Young de la Sota

Initial commit