def new_column(type, label=nil, id =nil, role=nil, pattern=nil)
      column = { :type => type, :label => label, :id => id, :role => role, :pattern => pattern }.reject { |key, value| value.nil? }
      @cols << column
    end
Adds a new column to the data_table.
Experimental support for role (and pattern): http://code.google.com/apis/chart/interactive/docs/roles.html.

Parameters:
* type            [Required] The data type of the data in the column. Supports the following string values:
- 'string'    : String value. Example values: v:'hello'
- 'number'    : Number value. Example values: v:7 , v:3.14, v:-55
- 'date'      : Date object, with the time truncated. Example values: v:Date.parse('2010-01-01')
- 'datetime'  : Date object including the time. Example values: v:Date.parse('2010-01-01 14:20:25')
- 'boolean'   : Boolean value ('true' or 'false'). Example values: v: true
* label           [Optional] A string value that some visualizations display for this column. Example: label:'Height'
* id              [Optional] A unique (basic alphanumeric) string ID of the column. Be careful not to choose a JavaScript keyword. Example: id:'col_1'
* role            [Optional] A string value that describes the purpose of the data in that column. Example, a column might hold data describing tooltip text, data point annotations, or uncertainty indicators.
* pattern         [Optional] A number (or date) format string specifying how to display the column value; used in conjunction with role.