[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`
I don't think we should just ignore these lines.  If there are specific tests that are failing due to decimal then we should add them to the black list with the others.