Reorganized the structure of the timingstring (aka sparse control array) construction to encapsulate process in more transparent way; added a ChannelData class to the ControlArray object to do this; finished most of the skeleton of timingstring construction, except for the special case of a delay train timinggroup.