[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")
```
I'm not really sure if we need to rewrite all of these test cases since the only code path that is changing here is `DDLParser -> RelationProvider`.  The planner is exactly the same.  I'd just add one new test case that makes sure that schemas are passed correctly when using the new synatx.  Also there needs to be better coverage for the various datatypes.