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).
Hmm... I'd rather just call it `SharkContext`. Catalyst is a query optimization framework, Spark SQL is more than that, but neither of them is a concept parallel to Hive. And this class is actually not very much related to JDBC.