Refactor ControllerFactory to rely on the controllers to define dependencies

 - Controllers now have to define self.dependencies as a list of
 symbols, reprensenting a dependency method on DependencyLocator
Revert "Disable rubocop's 'CyclomaticComplexity' cop"

This reverts commit 0a036546abc1734885982e627b7527da1d836897.