Move start label from functions to function entries

A step closer to supporting mutli-entry functions.

This commit confronts a lot of operations that assume that functions
have one entry point.  Converting the depth-first traversal function was
straightforward: just add all of the entry point to the stack in the
beginning.

Generating the denominator tree is complicated by having multiple entry
points.  We need to be able to generate a dominator forest, with a
pseudo-node at the root, pointing to each entry point.  This has been
pushed to a later commit.