Support for custom structs as fields using tags

This pull request should allow users to use custom structs as columns in tables. The custom struct should implement both "sql.Scanner" and "driver.Valuer" for this to work. The user should also mention the type of the database column using tag "coltype"(Example: `qbs:"coltype:text"`).