Add flags to generate zkApp transactions carrying events and actions

The `update-state` subcommand of the zkApp test transaction tool previously always produced transactions with empty events and actions. It now accepts `--num-events`, `--num-actions`, `--event-elements-per` and `--action-elements-per` to fill those arrays, and `--repeat-arrays` to emit identical arrays rather than distinct ones. This makes it possible to generate the heavy zkApp payloads needed to exercise and load-test archive nodes.

The two count flags also accept `max`, which fills up to the network's event and action limit. Because those limits differ between protocol versions, the same command line can be reused against different networks. Omitting all of the flags leaves the generated transaction unchanged.
