Refactor JDBCSource to add compile-time info about type of DB

- Turn drivers into traits
- Put all driver-specific logic in those traits
add vertica driver
change columns to def in ColumnDefiner
make all jdbc drivers traits
Merge pull request #1087 from twitter/amatsukawa/jdbc_source_refactor

Refactor JDBCSource to add compile-time info about type of DB