Refactors dynamic partitioning support

Conflicts:
	sql/hive/src/main/scala/org/apache/spark/sql/hive/execution/InsertIntoHiveTable.scala
Fixes typo in test name, regenerated golden answer files
Refactors InsertIntoHiveTable to a Command
Minor refactoring
Adds more tests
Merge pull request #1 from liancheng/refactor-dp

Refactors dynamic partitioning support