fix docstring

networkx graphs are built on nested dicts
rename method LabeledDiGraph.trim_dead_states -> remove_deadends

remove is common for networkx methods

LabeledDiGraph should better be agnostic of "states" and use the term "nodes", because it is a networkx derivative. Although States is one of its attributes, it mostly wraps its functionality.
LabeledDiGraph may be split in the future into a pure-networkx subclass and a system-specific class (States and Transitions will reside in the latter only).
increase pythonism, reduce verbosity

- access nodes using iterator instead of instantiating list by calling nodes().
- check emptyness of succ[n] dict, instead of instantiating new list by calling neighbors().
add unit test for LabeledDiGraph.remove_deadends

closes #92