DRILL-1458: New unit test framework.

Review comments, cleanup, additional tests

Matching columns, throw useful error messages if there are missing or extra columns.

Few more features in unit test framework, providing several baseline records in the builder pattern, allow checking empty result. Added a new unit test to ensure that nulls were validated properly in both the ordered and unordered cases.
DRILL-1545: adding support to read JSON files without .json extension
DRILL-1535:Logical plan deserialization error in Join