move test builds into build/test
restructure rules directory

- move rule.ts and abstractRule.ts into language/rule
  in order to make rules pluggable
reworking build system
compile rules separate from core
rename rules for consistency

- also build and load all rules
create ruleLoader
compile core rules into build/
fix tests for pluggable rules
fix all tests