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).
if you want to give it a try for mapred.reduce.tasks, please go ahead!