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).
Add TODO here, this is the root where we add back the code of reloading the cached tables.