compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg

since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' )
compiler.cfg.stacks.uninitialized: this compiler pass isn't used anymore -- let's get rid of it
compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )
Docs: more compiler docs
compiler.cfg.*: docs for compiler.cfg.dominance and compiler.cfg.ssa.construction
compiler.cfg.dominance: change needs-dominance effect from ( cfg -- cfg') to ( cfg -- )
compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- )
compiler.cfg.dominance: changed stack effect compute-dominance ( cfg -- cfg' ) to ( cfg -- )
compiler.cfg.ssa.construction.tests: fix tc broken by previous commit
compiler.cfg.*: new utility word apply-passes to improve the looks of long cleave's where each quotation only contains one word
compiler.cfg.dominance: some more docs
compiler.cfg.utilities: adding connect-bbs and make-edges
compiler.cfg.dominance: fix for #1227, the dom children needs to be sorted to ensure that the same instruction sequence is generated every time
compiler.cfg.*: fix for test cases that broke due to stack effect changes
compiler.cfg.*: help-lint and test case fixes
prettyprint: some minor cleanup.
prettyprint: a bit more cleanup.
build system: initial files for building using waf
buildable on linux, though the binary is corrupt
waf needs resource files end with .rc and specify paths relative to their own directory