Use macros to cleanly define getopts options
```rust
use getopts_macro::getopts_options;
let _options = getopts_options! {
-z --zero "...";
-v --verbose* "...";
-T --threads=NUM "...";
-i --ignore*=FILE "...";
-h --help* "...";
-V --version* "...";
};
```
Expand to:
```rust
let _options = {
let mut options = getopts::Options::new();
options.optflag("z", "zero", "...");
options.optflagmulti("v", "verbose", "...");
options.optopt("T", "threads", "...", "NUM");
options.optmulti("i", "ignore", "...", "FILE");
options.optflagmulti("h", "help", "...");
options.optflagmulti("V", "version", "...");
options
};
```