Output and slight optimization
Added the --output (or -o) option. Usage: --output=name (or -oname)
The extension will automatically be added when creating the output files, and cannot be changed (.csv and .g2table)
The FSM now uses sets instead of lists in order to check more efficiently if a state already exists. The optimization isn't big, but it's still an optimization.