Separate iterator creation from context creation
Now all contexts from Score down (i.e. all except the Global context) are always created in a timestep. Before this change, contexts existing at the beginning of a score were created before the first timestep was announced.
To show that the advantages of this change are not merely abstract, some simplification of Timing_translator and Partial_iterator is included. Reviewers may find it helpful to begin with those commits.