Add a default timeout if none was specified, which is set to 30 seconds (this is an arbitrary choice, if there are comments on this let me know).
Add an option to run without a timeout. This is useful when the solver is run with the debugger enabled, because sitting at a breakpoint still advances time. However, in this situation you are not likely to want to timeout.
In case of a satisfaction problem, stop the solver after the first solution is found.
Some small tweaks to make the solver more compatible with MiniZinc, as well as be more polished.
-s
to-r
for the seed (it should be-r
according to https://www.minizinc.org/doc-2.5.5/en/fzn-spec.html#command-line-interface-and-standard-options)