Fixes for compilation with SML/NJ.

The only major change is to move the HANDLER and RETURN signatures
from ssa-tree.old.sig and ssa-tree.sig to separate files.  SML/NJ's CM
cannot handle multipe top-level declarations with the same name.
Exercise MeClosureConvert and MeSsaSimplify.

Begin running multi-entry compilation pipeline in parallel to the
existing one.
Conditionally exercise multi-entry compilation pipeline.
Fix dominatorForest calculation.

Graph.dominatorTree demands the nodeValue of every node in the graph.
Hence, the fakeRoot must have its nodeInfo set to a fakeBlock.
Use ME_SSA_*_STRUCTS signatures for MeSsa* functors.
Convenience functions.
Simplify calculation of roots for control-flow graph layout.
Merge pull request #1 from MatthewFluet/multi-entry-funcs

Multi-entry function updates

* fixes for compilation with SML/NJ
* add `-check-multi-entry {false|true}` command-line flag to conditionally exercise the multi-entry compilation pipeline
* fix unset property in `dominatorForest` calculation
* misc. simplifications