[SPARK-2177][SQL] describe table result contains only one column

```
scala> hql("describe src").collect().foreach(println)

[key                 	string              	None                ]
[value               	string              	None                ]
```

The result should contain 3 columns instead of one. This screws up JDBC or even the downstream consumer of the Scala/Java/Python APIs.

I am providing a workaround. We need a better way to handle the result of a native command in future.

Also, if we upgrade Hive to 0.13, we need to check the results of context.sessionState.isHiveServerQuery() to determine how to split the result. This method is introduced by https://issues.apache.org/jira/browse/HIVE-4545. We may want to set Hive to use JsonMetaDataFormatter for the output of a DDL statement (`set hive.ddl.output.format=json` introduced by https://issues.apache.org/jira/browse/HIVE-2822).

The link to JIRA: https://issues.apache.org/jira/browse/SPARK-2177
Ah, my bad, when saying "just refer to `NativeCommand`", I actually meant to add a `DescribeCommand` following `NativeCommand` in `hiveOperations.scala`.

Actually, as briefly mentioned at the end of section [PR Overview](https://github.com/apache/spark/pull/1071#issue-35616519) of PR #1071 description, we should specialize all native commands in the same way, and use `NativeCommand` as a default handler for those commands that haven't been specialized yet.