Spark SQL based Shark CLI

Merged PR #337 authored by @chenghao-intel, and then did some refactoring and update, mainly include:

- Minimized `CatalystContext` as we don't care about response code for now, should update after [SPARK-2106](https://issues.apache.org/jira/browse/SPARK-2106) is addressed.
- `CatalystDriver.destroy` should call `super.destroy`.
- A bunch of trivial coding style fix (including original Shark code).
yup we will build it into spark sql to use the right configs. e.g. spark sql should read mapred.reduce.tasks too if the spark sql version of that is not set.