~alva/zig-bare

Fix mistake in README
Add a benchmark
Rename Reader/Writer to Decoder/Encoder

They do not implement Zig's Reader/Writer interfaces, and might be confusing.
Remove old compatibility hack
Run example program in CI
Fix write void test
0.7.1 compatibility hack
Better compile error test error message
Use std.meta.Tag instead of deprecated @TagType
Use unmanaged hash map
Remove remaining inStream()/outStream() use
Fix void union members

See issue #7866 on the zig github repository for more details.

https://github.com/ziglang/zig/issues/7866
Handle too-big HashMap capacity
Handle reading of invalid enum values
Small cleanup of float reading
Use reader/writer instead of inStream/outStream
Zig 0.7.1
Use Arch image; Alpine doesn't have Zig 0.7.0 yet
Port everything so `zig build test` works on 0.7.0

The earlier commit got what I was using working on 0.7.0, but I forgot
to run the test suite to ensure everything was updated. Now I have run
it and all of the tests work.

- The varint tests were failing because the `readVarInt` functions are
  private. I moved these tests to `src/bare.zig` because I figure these
  are internal details that shouldn't be made public.
Update for zig 0.7.0
Add test for duplicate enum values
Next