Remove Finished Queries from Grill Server memory 

Pull request which cleans up Finished query from Server memory and serves further requests from DB.

Major Changes in Patch:

* Introduced HSQL, dbutils &  dbpool dependencies for database related operations in grill server.
* Changed delay queue logic now to fire delay based on the size of the queue instead of time spent in the queue.
* Added Jackson (de)serializer for (de)serialization of column definition of result set metadata.
* Changed ResultSetMetaData class from Anonymous type to Named type in the Hive Driver. 
The old implementation of Delay queue used to work on finish time.

Currently this is what happens:

1. Whenever delayqueue.take() is called, we first check if queue size is greater than max finished query allowed, if so, then allow the element in queue to be taken. 
2. CompareTo() method takes care of ordering of the finished queries by comparing finished time.