Allow phases to give restrictions on pipeline position.

Phases can now specify which phases should it follow.
Tree transforms can additionally specify which TreeTransforms
should have finished their processing of compilation units entirely.
Merge pull request #111 from DarkDimius/phase-req

Allow phases to give restrictions on pipeline position.