Added PatternCoordinator class which returns a set of coordinated pattern generators

A PatternCoordinator is a set of coordinated pattern generators.
The pattern generators are named according to the labels parameter.
The dimensions to be returned are specified with the dims parameter.
PatternGenerators are first instantiated with the parameters specified in input_parameters, and then subclasses of ValueCoordinator are applied to modify the properties of these generators.
See above; dimensions isn't meaningful here.  Maybe features_to_vary (with inherent_dims below changing to inherent_features)?  And then we can say that a feature is something coordinated between the PatternGenerators, either (a) one of the parameters of the PatternGenerators (such as size), (b) something that affects the parameters that is calculated by a metafeature_function (such as disparity, though that's not defined in this file), or (c) something that's inherent to the dataset (again, with no example here in this file).  For cases (b-c), maybe it's ok to use disparity as an example, saying that a given dataset of stereo image pairs might have an inherent x_disparity value, which could instead by synthesized using an appropriate metafeature_function, even if those aren't in this file.