[SPARK-4239] [SQL] support view in HiveQl

Currently still not support view like 

CREATE VIEW view3(valoo) 
TBLPROPERTIES ("fear" = "factor")
AS SELECT upper(value) FROM src WHERE key=86;

because the text in metastore for this view is like

select \`_c0\` as \`valoo\` from (select upper(\`src\`.\`value\`) from \`default\`.\`src\` where ...) \`view3\`

while catalyst cannot resolve \`_c0\` for this query.
For view without colname definition in parentheses, it works fine.
In general it is up to the catalog to apply `Subquery` for `aliases`, at least I think thats what we are doing elsewhere.  It would be good to stay consistent unless there is some reason to change so I'm inclined to agree with @chenghao-intel.

Also I'm a little confused about where the lowercasing is happening?  I agree that sort of logic belongs in the analyzer and not in the catalog.  (Though maybe that comment is just stale?)