[SPARK-2927][SQL] Add a conf to configure if we always read Binary columns stored in Parquet as String columns

This PR adds a new conf flag `spark.sql.parquet.binaryAsString`. When it is `true`, if there is no parquet metadata file available to provide the schema of the data, we will always treat binary fields stored in parquet as string fields. This conf is used to provide a way to read string fields generated without UTF8 decoration.

JIRA: https://issues.apache.org/jira/browse/SPARK-2927
this patch will be great for impala users like us :) thanks, moreover, there is a ```getCreatedBy``` method in ```readMetaData(origPath, conf).getFileMetaData```, and impala creates parquet files always its own CreatedBy information (always contains string "impala"), so, maybe we can do some auto-detection like (https://github.com/apache/spark/pull/1599/files)
```
if (fileMetaData.getCreatedBy.contains("impala")) {
  isBinaryAsString = true
}
```
does this auto-detection make sense?