Organizing the Aggregate: Languages for Spatial Computing