StateEngine TODO File

* HostDict() solely manages the config directory I want to keep the config
  directory functionality right now but push all the configs into the DB.
     - Use HostDict() (rename the thing) to keep file based configs in sync
       with the DB
     - Do we incorperate as state is assigned or all at once later?

* State Object methods.  install_file(), configure_service(), etc.

* How are client configs stored?  DB?  On disk?
    - text files in configs/ directory now sucked into db on startup
    - Database schema now present to hold configs
    - Need seadm.py functionality to add/remove state to clients

* Move completed actions to the history table and store their
  return codes.  All actions should return a tuple of an integer
  return code where 0 is success, else error, and a dict of
  arbitrary data

* Database code to know when a state has been fully executed on a client
  and run teardown code of that stateobject.

* StateObjects get a teardown() function that handles what to do
  with return codes/data.  In some cases be stored in the db.
  Fucntion has a return value to indicate to SE wheather the 
  complete stateobject was successful.  (code, message)?

* Any way to verify the UUID?  Option somewhere somehow to notify
  admin if client loses UUID and hold or just assume client was 
  reinstalled.

* Figure out when state object changes

* Figure out when configuration for client changes


==================
Helpful Tools
==================

pyparsing - http://pyparsing.sourceforge.net/
pypath - http://www.jorendorff.com/articles/python/path/

