fixing issue 1294 - Aliases are not uniquified for some queries with SelectMany - may produce invalid sql

Before we were only generating unique aliases for Include. However name clashes may also appear in case of join/cross join queries. Fix is to store a list of all table aliases used so far in the RelationalQueryCompilationContext and generate them there so we keep track of all the places aliases get generated.
I think this removes the feature where we attempt to use the user-specified range variable from the query as the alias.