postgresql varchar doesn't need a size
add SetNotNull separate from primary keys
Adding some handy struct tags for create table sql

Adds some features to the db: tag similar to the json package.
Use a comma-list of special words as follows:
 ** first item is always column name **
  "ai" = autoincrement
  "pk" = primary key
  "un" = unique
  "nn" = not null

Add a dbdefault: tag to set a default value
Add a dbrefs: tag to set a (single-column) foreign key constraint
Add a dbtype: tag to set a database-layer data type without having to
	deal with updating the Dialect. You'll probably want something the DB
  can convert from a string type transparently.

NB: These 3 tags are directly placed into the create table statments, so
any necessary quoting or escaping must be handled properly. These are
shortcuts, don't use them for complex constraints!

A contrived example of usage:

type Building struct {
	Id        int64  `db:"building_id,pk,ai"`
	Name      string `db:",nn" dbdefault:"NoName Building"`
	Address   string `db:",nn,un"`
	GatewayIP string `db:"ip_address" dbtype:"inet"`
}

type Room struct {
	Id         int64  `db:"room_id,pk,ai"`
	BuildingId int64  `db:"building_id,nn" dbrefs:"buildings (building_id)"`
	Name       string
}