Trimming Dead States

There were edge cases where the automata generated was creating states that violated the environment safety conditions. However these were dead-end states which did not have any outgoing transitions. This patch creates a function within the Labeled_DiGraph class in labeled_graphs.py, that can recursively remove the dead end states. It modifies the synthesize function in synth.py and adds a bool_true flag, which if True, allows for the removal of these states from the automata.