Another try at this.
Apparently using `afl-clang-lto` isn't a full solution.
Zig will follow symlinks leading to running `afl-cc`.
Instead updated the library again.
This time it explicitly sets the afl `AFL_CC_COMPILER` to `LTO`.
Use an optional dependency to avoid downloading AFL when it isn't needed.
Only download dep and build AFL + fuzzers when `-Dfuzz` is added.
Also, only build afl for native unix targets (it can't cross compile and doesn't support windows).
This is just trying to get an example of fuzzing working.
Zig internal fuzzing is not ready yet (maybe we will switch for 0.15.0).
So we are instead using AFL.
This just gets really basic fuzzing for the cli running.
It doesn't really check anything useful, but it is a decent example.
Later, I want to add tooling for automatically running fuzzing and managing the corpus.
Not sure exactly how it will all work.
Also renames `command.zig` to `cli.zig` for clarity.
This does not yet work in nix.