Fixes for group by clause

	- group by set migth be empty:
		select 1 from t group by ()
	- having clause might be present even if there is no "GROUP" "BY"
		select 1 from t where 1=0 having 1=1

Plus this patch changes list of child nodes in select_statement (from_clause is no more the 1st child)
but it respects the order of clauses in select statement