Checks one aggregation against the input schema, stopping at its first problem: its function and column (validateAggregationFunctionAndColumn), then its output name, which is given, is a valid column name (isValidColumnName), is no input column's name, keys included, in any case (foldColumnName), and no other aggregation's, in any case either: the engine fails on a duplicate name with no location. Exported so an editor can mark each row.