Simplify Controller

Take advantage of the cpsChain becoming a single cpsFile

Also remove some dead code in RedPill that was specific to CodeMirror use
Make replaceRule async

FIXME: check/invalidate the cache for loading CPS
Fix caching for CPS files

Remove two caches that were already no longer used
Factor out _checkScope from query and queryAll methods
Remove unused semi-duplicate Project.getMasterSources method

Remove an unused import

Fix a typo in a comment and one in a message
Extract RuleController from Controller

This takes parsing out of the model controller and puts it in its own
controller.
Generate namespace info when required rather than caching it in Rules

This gives correct information when @import-ed files are updated
Common up ‘rules’ and ‘dictionaryRules’

Taking feedback from @graphicore into account
rewrite RuleController to get rid of some legacy code
fix filling the cache
More DRY, add some formatting/line breaks

Remove the unused property "ownRules".
Comment and whitespace fixes

Also fix a tiny code typo

Remove some fixed TODOs
Add recursion detection for @import

And a test
Make @import rules stringify as themselves

(Not as the rules they import)