Makes the JDBC server to work

Made some minor changes to make JDBC server to work:

1. `SharkServer2` should be started with the `run` script to leverage the computed `CLASSPATH` and detect user Hive and Hadoop configurations.
1. Hive native commands in Spark SQL now have output too, so always `setHasResultSet(true)`.
1. Updated dependencies: `hive-beeline` is added as a runtime dependency required by `bin/beeline`.

A sample session below. Starting `SharkServer2`:

```
$ ./bin/shark --service sharkserver2
...
14/06/18 19:41:29 INFO shark.SharkServer2$: SharkServer2 started
14/06/18 19:41:29 INFO thrift.ThriftCLIService: ThriftBinaryCLIService listening on localhost/127.0.0.1:10000
```

Connect to the JDBC server with BeeLine:

```
$ ./bin/beeline

Beeline version 0.12.0 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000
scan complete in 3ms
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000: lian
Enter password for jdbc:hive2://localhost:10000: 
Connected to: Hive (version 0.12.0)
Driver: Hive (version 0.12.0)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000> show tables;
+--------------+
|    result    |
+--------------+
| hive_table   |
| shark_table  |
+--------------+
2 rows selected (0.952 seconds)
0: jdbc:hive2://localhost:10000> explain select key, count(*) from shark_table group by key limit 10;
+-------------------------------------------------------------------------------------+
|                                        plan                                         |
+-------------------------------------------------------------------------------------+
| ExplainCommand [plan#44:0]                                                          |
|  Limit 10                                                                           |
|   Aggregate false, [key#37], [key#37,SUM(PartialCount#39L) AS c_1#35L]              |
|    Exchange (HashPartitioning [key#37:0], 200)                                      |
|     Exchange (HashPartitioning [key#37:0], 200)                                     |
|      Aggregate true, [key#37], [key#37,COUNT(1) AS PartialCount#39L]                |
|       HiveTableScan [key#37], (MetastoreRelation default, shark_table, None), None  |
+-------------------------------------------------------------------------------------+
7 rows selected (0.109 seconds)
0: jdbc:hive2://localhost:10000> select key, count(*) from shark_table group by key limit 10;        
+------+------+
| key  | c_1  |
+------+------+
| 152  | 2    |
| 76   | 2    |
| 128  | 3    |
| 311  | 3    |
| 316  | 3    |
| 435  | 1    |
| 323  | 1    |
| 27   | 1    |
| 190  | 1    |
| 406  | 4    |
+------+------+
10 rows selected (1.91 seconds)
0: jdbc:hive2://localhost:10000>
```
No, Hive native commands like `SHOW TABLES` and `EXPLAIN` doesn't work properly. But confirmed that 1.0.1-SNAPSHOT is good enough. Will update this soon.