Adding test framework and test case automation for drill.
Added instructions for running drill tests.
Added MD format.
Fixed MD format.
Fixed more MD format problems.
Again, tried fixing MD format.
Again with format.
More formatting.
More formatting.
Fixed tree.
1. In README.md, added configuration and pre-test setup information, and instructions on running tests through script.
2. Created a select test case as an example.
3. Added support for queries via the JDBC interface in QueryDispatcher and DrillTestBase.  Currently debugging issues.
4. Revamped test verifier:
   a. Removed the MD5 checksum method;
   b. If verification-type list is empty, no verification will be performed;
   c. Enhanced the in-memory verification method by printing out lists of unexpected results and/or missing results;
   d. Added ResultSet verification (for JDBC-returned results).
5. Fixed a bug to trim off whitespaces in query input files at the beginning and the end of the files.
6. Added submitType and queryType in support of multiple query interfaces and logical and physical queries in addition to raw queries.  These are extended in both the TestCaseModeler and json test processor and provider.
7. Cleaned up the drillTestConfig properties.
Removed hard-coded dependency entry.
Major updates.
1. Added more support for performance testing, including Kunal's scripts and an additional test class as well framework level implementations.
2. Constructed JDBC connection URL programmatically.  This dispenses with the necessity for the command line parameter.  However, the implementation is being commented out in wait for the fix from drill to be ready, and in its place a hack is being used that fetches the value from command line.  This parameter is required till the fix is in.
3. Enabled "root" level test case discovery from "resources".
4. Fixed the problem of datasource json files distracting test case collection.
Hive storage plugin tests added
1. Revamped drill connections.  With the improvement, all tests sharing the same schema will have one connection established and that single connection will be closed at the completion of all tests using it.
2. Fixed RpcException and connection refused bug as a result of the above revamping.
3. Re-organized packages.  There is mounting evidence against having two separate packages for the framework and the test client.  With the re-organization, all tests will run from the framework package directly.  Updated scripts and pom files to accommodate the changes.
4. Updated README.md.
1. Implemented drill connection management.  A connection pool is created so that for each suite that uses a unique schema (corresponding to an entry in the workspaces list in the storage plugins), there is a connection established for it.  Connections are closed (along with its Statements) properly when tests are completed.
2. As a result of the fix above, the -u option (connection URL) is no longer required in the test execution command line.  All information is programmatically obtained via the test properties file (e.g., zookeeper) and the test definition files (e.g., schema strings).  Updated README.md and run tests script.
3. Fixed an issue with drillbit connection problems (Drillbit endpoint not found).
Merge remote-tracking branch 'zhiyong/master' into generate-jdbc-jar