normalize: fix a bug in mergeSameAlias
normalize: fix a bug in mergeSameAlias

In mergeSameAlias, we make a shadow copy of each selection and then append
to copy.selectionSet.selections later.
Since append in GO does not always create a new slice, there is chance we
are appending to the original selectionSet.selections slice. This could cause
the recursively flatten function to run into an infinite loop in some cases.

This commit make a new selectionSet for each copy so we will not append to the
original selections later in the function.

samsarahq/thunder,samsarahq/thunder,samsarahq/thunder,samsarahq/thunder,samsarahq/thunder