Externalization of the controller state types definition.

Each controller classname which extends the base Controller.class must
declare a definition states resource (<classname>.states). This file
contains all key/value pairs (key=state name, value=state type name)
that the controller supports.