[SPARK-3720][SQL]initial support ORC  in spark sql

Provide a initial support for orc file formate in spark sql,  support for both reading and writing ORC files . user can use ORC file just like parquet as follow:
```
... ...
  rdd.registerTempTable("records")
  rdd.saveAsOrcFile("pair.orc")
  val orcFile = sqlContext.orcFile("pair.orc")
  orcFile.registerTempTable("orcFile")
  sql("SELECT * FROM orcFile").collect().foreach(println)
```

The whole point of having hive as a separate project is to avoid pulling in all of the dependencies of hive for all spark users.  Thus, as Patrick said, this will have to go in the hive sub project.  That said, I think this patch is still quite valuable.  We generally recommend that all users use the HiveContext if they can tolerate hive's dependencies, so it'll still get use.  Also, this patch provides better programatic API support in addition to the existing SQL support.