Implement SQLTables and changes to testing framework

1. Implement [SQLTables](http://msdn.microsoft.com/en-us/library/ms711831\(v=vs.85\).aspx) according to the spec. Queries for table metadata, with the special options of listing all the schemas, table types, or categories. 
2. Changes to the testing framework. Given that this is the first major function implemented, changes were made to account for the testing workflow.

It also doesn't seem like Github lets us squash the commits using their pull request system, which will make the commit logs noisy because I commit frequently.

This is also my first time writing C for something much larger than an assignment, so I'd appreciate feedback on best practices, etc. In particular, I'm confused because I thought macros were supposed to be mega-evil...but there's so many in here. Then again, this code is also from the 90s or something.

Feedback on the tests would also be appreciated. There's a good amount of coverage, but let me know if I missed any representative queries.

Edit: Here's the test output

```
connected
[TEST] test-sqltable-column-names
Result set metadata:
TABLE_QUALIFIER: VARCHAR(128) digits: 0, nullable
TABLE_OWNER: VARCHAR(128) digits: 0, nullable
TABLE_NAME: VARCHAR(128) digits: 0, nullable
TABLE_TYPE: VARCHAR(128) digits: 0, nullable
REMARKS: VARCHAR(254) digits: 0, nullable
[TEST] SQL_ALL_CATALOGS
Result set:

[TEST] SQL_ALL_SCHEMAS
Result set:
NULL    contrib_regression    NULL    NULL    
NULL    information_schema    NULL    NULL    
NULL    security_schema    NULL    NULL    
NULL    sqlj    NULL    NULL    
NULL    sys    NULL    NULL    

[TEST] SQL_ALL_TABLE_TYPES
Result set:
NULL    NULL    NULL    SYSTEM TABLE    
NULL    NULL    NULL    SYSTEM VIEW    
NULL    NULL    NULL    TABLE    
NULL    NULL    NULL    VIEW    

[TEST] all-tables-test-schema
Result set:
NULL    contrib_regression    booltab    TABLE    
NULL    contrib_regression    byteatab    TABLE    
NULL    contrib_regression    testtab1    TABLE    

[TEST] all-views-test-schema
Result set:

[TEST] all-system-tables
Result set:
NULL    information_schema    index_statistics    SYSTEM TABLE    
NULL    information_schema    index_statistics_entry    SYSTEM TABLE    
NULL    security_schema    roles    SYSTEM TABLE    
NULL    security_schema    user_roles    SYSTEM TABLE    
NULL    security_schema    users    SYSTEM TABLE    

[TEST] all-system-views
Result set:
NULL    information_schema    columns    SYSTEM VIEW    
NULL    information_schema    error_codes    SYSTEM VIEW    
NULL    information_schema    grouping_constraints    SYSTEM VIEW    
NULL    information_schema    index_columns    SYSTEM VIEW    
NULL    information_schema    indexes    SYSTEM VIEW    
NULL    information_schema    jars    SYSTEM VIEW    
NULL    information_schema    key_column_usage    SYSTEM VIEW    
NULL    information_schema    parameters    SYSTEM VIEW    
NULL    information_schema    referential_constraints    SYSTEM VIEW    
NULL    information_schema    routine_jar_usage    SYSTEM VIEW    
NULL    information_schema    routines    SYSTEM VIEW    
NULL    information_schema    schemata    SYSTEM VIEW    
NULL    information_schema    script_engine_names    SYSTEM VIEW    
NULL    information_schema    script_engines    SYSTEM VIEW    
NULL    information_schema    sequences    SYSTEM VIEW    
NULL    information_schema    server_cursors    SYSTEM VIEW    
NULL    information_schema    server_garbage_collectors    SYSTEM VIEW    
NULL    information_schema    server_instance_summary    SYSTEM VIEW    
NULL    information_schema    server_memory_pools    SYSTEM VIEW    
NULL    information_schema    server_parameters    SYSTEM VIEW    
NULL    information_schema    server_prepared_statements    SYSTEM VIEW    
NULL    information_schema    server_servers    SYSTEM VIEW    
NULL    information_schema    server_sessions    SYSTEM VIEW    
NULL    information_schema    server_taps    SYSTEM VIEW    
NULL    information_schema    server_users    SYSTEM VIEW    
NULL    information_schema    table_constraints    SYSTEM VIEW    
NULL    information_schema    tables    SYSTEM VIEW    
NULL    information_schema    type_attributes    SYSTEM VIEW    
NULL    information_schema    type_bundles    SYSTEM VIEW    
NULL    information_schema    types    SYSTEM VIEW    
NULL    information_schema    view_column_usage    SYSTEM VIEW    
NULL    information_schema    view_table_usage    SYSTEM VIEW    
NULL    information_schema    views    SYSTEM VIEW    

[TEST] find-pattern-byteatab
Result set:
NULL    contrib_regression    byteatab    TABLE    

[TEST] find-pattern-%tab
Result set:
NULL    contrib_regression    booltab    TABLE    
NULL    contrib_regression    byteatab    TABLE    

[TEST] case-insensitivity-%tab
Result set:
NULL    contrib_regression    booltab    TABLE    
NULL    contrib_regression    byteatab    TABLE    

[TEST] table-type-all-%tab
Result set:
NULL    contrib_regression    booltab    TABLE    
NULL    contrib_regression    byteatab    TABLE    

[TEST] table-type-multiple
Result set:
NULL    contrib_regression    booltab    TABLE    
NULL    contrib_regression    byteatab    TABLE    
NULL    contrib_regression    testtab1    TABLE    
NULL    information_schema    index_statistics    SYSTEM TABLE    
NULL    information_schema    index_statistics_entry    SYSTEM TABLE    
NULL    security_schema    roles    SYSTEM TABLE    
NULL    security_schema    user_roles    SYSTEM TABLE    
NULL    security_schema    users    SYSTEM TABLE    
```