Fixed UDTF Explode bug exposed by column pruning fix in Hive 0.10 (HIVE-3226)
Initial support for Hive 0.11

Changelog (merged with yaoshengzhe's changes & comments -- thanks Shengzhe!):

1. project/SharkBuild.scala
   Remove Jackson import from hadoop to prevent errors caused by version mismatches

2. src/main/scala/shark/SharkCliDriver.scala
   CliDriver.getCommandCompletor() now returns command completor array not single value. Add all these completor to reader.

3. src/main/scala/shark/execution/CommonJoinOperator.scala
   Hive Api change:
       1) JoinUtil.getObjectInspectorsFromEvaluators now returns List<ObjectInspector>[] instead of Map<Byte, List<ObjectInspector>>.
       2) Both JoinUtil.getObjectInspectorsFromEvaluators and JoinUtil.getStandardObjectInspectors need fourth parameter: tagLen

4. src/main/scala/shark/execution/JoinOperator.scala
   Due to JoinUtil methods change, update corresponding code

5. src/main/scala/shark/execution/MapJoinOperator.scala
   Due to JoinUtil methods change, update corresponding code

6. src/main/scala/shark/execution/ScriptOperatorHelper.scala
   Add override for overridden methods.
   Shengzhe also moved two methods to a new companion object, not included here - feel free to commit that separately.

7. src/main/scala/shark/execution/SharkExplainTask.scala
   ExplainWork class constructor changed, add default values to new parameters.

8. src/main/scala/shark/SharkOptimizer.scala
    Override Hive's optimizer to skip SimpleFetchOptimizer and avoid ListSink operator (used
      by Hive to avoid MR jobs for simple queries)

9. src/main/scala/shark/execution/TableScanOperator.scala
   Explicit call static method using HiveInputFormat.pushFilters instead of pushFilters
   HiveInputFormat api change, init(ParseContext) => initParseCtx(ParseContext).
   QBParseInfo api change, isInsertIntoTable(String table) => isInsertIntoTable(String dbName, String table)

10. src/main/scala/shark/parse/SharkSemanticAnalyzer.scala
    Name of init method changed to initParseCtx
    Both db and table names are now required
    Call SharkOptimizer to avoid ListSink optimization
Wrap to 100 cols
Merge pull request #113 from alupher/hive0.11

Hive 0.11 compatibility
Fix LVJ Op bug (on repeated lateral view explodes)

All lateral view tests now pass.
Merge branch 'hive0.11' of github.com:amplab/shark into hive0.11
Merge pull request #120 from alupher/hive0.11

Hive 0.11: fix LVJ op bug
TableScan supports object inspectors initialized on partition metadata instead of table metadata

This allows the previously failing 'partition_vs_table_metadata' test to pass. This problem was due to object inspectors in Hive 0.11 being initialized based on partition metadata instead of table metadata (see https://issues.apache.org/jira/browse/HIVE-3833).
Remove unused imports
Added the initial functionality to convert RDDs into Shark in-memory tables.
Error handling for RDDTable.
Merge latest Shark upstream changes (manually)
Merge latest from master
Merge branch 'hive0.11' of http://github.com/alupher/shark into hive0.11
Add a MemoryTableDesc wrapper around a table RDD, or partition RDDs if the table is Hive-partitioned.
Comment in SharkSemanticAnalyzer about handling CREATE TABLE and CTAS.
Move CREATE TABLE/CTAS analysis to a new method.

This includes adding a new QueryBlock that's used to store detected cache modes.

Also, renamed MemoryTableDesc to MemoryTable.
Return union of all Hive-partition RDDs for SharkEnv#unpersist() and MemoryMetadataManager#unpersist().

Also added Option[RDD[_]] in MemoryTable to represent an empty table.
Header comment for QueryBlock.
Disable cached, Hive-partitioned tables for now.