[SPARK-2783][SQL] Basic support for analyze in HiveContext

JIRA: https://issues.apache.org/jira/browse/SPARK-2783
Seems every time we do lookupRelation, we get a new instance of hiveQlTable (with a new instance of underlying Hive TTable). So, I think `tableParameters` will not be shared. The place we do metastore update is `catalog.client.alterTable(tableFullName, new Table(hiveTTable))`. I guess the underlying metastore can take care the concurrent update.

@liancheng can you also take a look at this analyze method?