Defer creation of partially-grouped relation until it's needed.
 
 This avoids unnecessarily creating a RelOptInfo for which we have no
 actual need.  This idea is from Ashutosh Bapat, who wrote a very
 different patch to accomplish a similar goal.  It will be more
 important if and when we get partition-wise aggregate, since then
 there could be many partially grouped relations all of which could
 potentially be unnecessary.  In passing, this sets the grouping
 relation's reltarget, which wasn't done previously but makes things
 simpler for this refactoring.
 
 Along the way, adjust things so that add_paths_to_partial_grouping_rel,
 now renamed create_partial_grouping_paths, does not perform the Gather
 or Gather Merge steps to generate non-partial paths from partial
 paths; have the caller do it instead.  This is again for the
 convenience of partition-wise aggregate, which wants to inject
 additional partial paths are created and before we decide which ones
 to Gather/Gather Merge.  This might seem like a separate change, but
 it's actually pretty closely entangled; I couldn't really see much
 value in separating it and having to change some things twice.
 
 Patch by me, reviewed by Ashutosh Bapat.
 
 Discussion: http://postgr.es/m/CA+TgmoZ+ZJTVad-=vEq393N99KTooxv9k7M+z73qnTAqkb49BQ@mail.gmail.com