add method: LTL.check_vars
check for variable redefinitions when translating TS to logic

and associated tests.

Checks for conflicts between:

- atomic propositions labeling states of a generator,
- actions labeling edges, and
- states.

Even an integer variable is going to represent these,
the intent is to use them as propositions, so the check is well-motivated.
Also, as long as syntactic substitutions are used to
represent variables with arbitrary finite domains using an integer variable,
the check is required to prevent creation of invalid solver input.

close #96
style
rm remnant action_vars arg to synth.synthesize
bugfix: test uses two env action types with same domains