Rename app.get_dependencies to process_get_dependencies for consistency.
Rename Database class to Sources and move it in and the App class into the new App module dir.
Refactor processor methods and generation. Updated files are now all prepared before being generated.
Processors now handle setting targets and dependencies in the prepare method, rather than returning lists for the generator to handle.
Fix argument order in Contexts.set
Switch argument order in Contexts.remove for consistency
Grab any dependencies for a file prior to preparing it for generation, in case dependencies have been removed.
Fix old broken help string reference in the list commands command.
Log the actual exception when a processor method craps itself.
Add proper context variable support.

Fix bugs related to incorrect dependency building with context variables.
Add context variable setting and retrieval methods to the Jinja processor built-in.
Return sets from context and source manager methods that previously returned lists.
Refactor method names in the context and source managers.
Move built-in command registration to command modules.
Clean up command built-in parameters.
Add command built-in to generate graphviz dependency graph.