contrib aes: remove redundant networkx functions
rm class OpenFTS
shift FTS
merge class OpenFTS with FTS

extending FTS with env_vars, sys_vars and owner of states.
rm alias FSM

because it is not used, instead MealyMachine and MooreMachine are intended to be used directly.
rm unimplemented methods from FiniteStateMachine

because is_blocking and is_receptive are not very useful.
Receptiveness may not be required and depends on assumptions about the environment.

Products of machines are practically never taken explicitly.
They will be needed only for composing machines for simulation.
In that case, the semantics become more explicit by implementing them as functions.
improve FTS docstring
mv function tuple2ba back to automata module
mv product functions from BuchiAutomaton to algorithms module

and start cleaning/merging with same functions that were methods of FTS.
update imports
fix typo
mv BA * TS sync product functions from algorithms to products module

so that sync_prod branch can be rebased (after separating the changes to those on the products module).
conditional on exception only
fix imports and tolerate cyclic import

of ba_ts_sync_prod in automata from products
and ts_ba_sync_prod in transys from products
inline convert_ts2ba_label
use set comprehension
extract find_ba_succ, find_prod_succ

to modularize, so that the successor-generating functions (that implement the semantics of BA * TS) can be shared among the explicit and on-the-fly products
replace MathSet by set, because mutable states not supported any more
more logging in transys.products
new: tests for transys.transys