[SPARK-4152] [SQL] Avoid data change in CTAS while table already existed

CREATE TABLE t1 (a String);
CREATE TABLE t1 AS SELECT key FROM src; – throw exception
CREATE TABLE if not exists t1 AS SELECT key FROM src; – expect do nothing, actually will overwrite the t1.

This PR actually contains the following change:
1) Fix bug describe above;
2) Whitelist the test case.
3) Disable the file split for small single table file(make input splits based on HDFS block)
4) Decimal type in Hive 0.13 is not compatible with in Hive 0.12, we should map them both to `DecimalType`
we need these todos here? will this both ok for hive 12 and 13, right?