[SPARK-4574][SQL] Adding support for defining schema in foreign DDL commands.

Adding support for defining schema in foreign DDL commands. Now foreign DDL support commands like:
```
CREATE TEMPORARY TABLE avroTable
USING org.apache.spark.sql.avro
OPTIONS (path "../hive/src/test/resources/data/files/episodes.avro")
```
With this PR user can define schema instead of infer from file, so  support ddl command as follows:
```
CREATE TEMPORARY TABLE avroTable(a int, b string)
USING org.apache.spark.sql.avro
OPTIONS (path "../hive/src/test/resources/data/files/episodes.avro")
```
IMO we should follow Hive here. I don't think it's that confusing. I would actually start by doing only the Hive types and not SHORT or BYTE in order to make it clearer to users. See https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types for what they are called.