text: Title: Pull GeoPoint wrapper ValuesSources up to AggregationBuilder layer
  Body: Currently, we have two ValuesSources, `CellIdSource` and `DistanceSource`, which we use to wrap a GeoPoint values source and treat it as a numeric values source.  These get created very late in the process however, specifically in the aggregation factory or supplier.  This creates a problem where we have a ValuesSourceConfig which no longer describes the values source we actually have.  I'm trying to move us more towards using ValuesSourceConfig as the source of truth for all things Values Source, and this conflicts with that plan.
  
  One solution we kicked around would be to create custom resolvers for these aggregations (i.e overriding `ValuesSourceAggregationBuilder#resolveConfig`) to construct a values source config that reflects the actual values source.  Relevant information, such as the resolution for Cell Id Source, would be stored on the ValuesSource directly.  This would probably require a new values source type as well.