Document the Agent FSM using docstrings and autogenerate the graphviz sources

This adds two special lines to state class docstrings:

:transition[ destination]: description
- describes transition from current class to destination
- it is treated as staying in the current state when
  destination is not provided

:transitions_from StateClass:
- used to support inheritance, copies all transitions
  from StateClass to the current class

This patch also adds a script that reads the state_machine.py and
states.py modules and generates the fill graphviz source for the
state machine.

make fsm then generates the new source and png file with the state
machine.

Change-Id: Ie6de8b20a8908aa0906404283829775b5487a850
Signed-off-by: Martin Sivak <msivak@redhat.com>
(cherry picked from commit 21a18395a2b9d8724a3712910e20efaed78ae3ac)