--METHOD OVERVIEWS--

All tokens have:
	->src

Both Row-Operation, and Row-OperationInfo Tokens have the
following accessors:
	->src
	->name
An Row-Operation token has the following accessors:
	->src
	->cost
	->time
	->name
	->dom_level
	->pop_info   -- gets a OperationInfo token from end
	->shift_info -- same thing from beginign
A Row-OperationInfo token has the following accessors:
	->src
	->name
	->verbose (non-name)

Both Time tokens, and Cost tokens share:
	->range
	->rows
	->src
	->startup (delegate to Range token ->(min/max)
	->total (delegate to Range token ->(min/max)
So a Time token has the following accessors
	->range ## Returns Range token object
	->rows
	->src
	->loops (specific to Time)
	->startup (delegate to Range token ->(min/max)
	->total (delegate to Range token ->(min/max)
And a Cost token has the following accessors
	->range ## Returns Range token object
	->rows
	->src
	->width (specific to Cost)
	->startup (delegate to Range token ->(min/max)
	->total (delegate to Range token ->(min/max)

A Range token has the following accessors
	->min
	->max

Methods can be chained
->row->cost->range->min (same as ->row->cost->startup)
->row->dom_level


-- Learn by example:

The interface is simple you feed it a file it does the following mappings:

**EACH TOKEN IS AN OBJECT**
**EACH TOKEN HAS A ->src**
**EACH TOKEN DERIVES INFORMATION FROM ->src**

Each line of the query output is a subclass token (Operation or OperationInfo) of the Row Token
 Sort  (cost=48262.10..48262.11 rows=2 width=87) (actual time=436194.363..436194.455 rows=73 loops=1)
   Sort Key: "Appointment Time", "Last Name", "First Name"
   ->  Unique  (cost=48262.05..48262.09 rows=2 width=87) (actual time=436193.824..436194.168 rows=73 loops=1)
         ->  Sort  (cost=48262.05..48262.05 rows=2 width=87) (actual time=436193.820..436193.925 rows=73 loops=1)
               Sort Key: ct_id, "Time Zone", "Last Name", "First Name", "Appointment Time", "Activity", notes, u_id

Each row that starts with '->' AND the first line is an Operation Token
 Sort  (cost=48262.10..48262.11 rows=2 width=87) (actual time=436194.363..436194.455 rows=73 loops=1)
   ->  Unique  (cost=48262.05..48262.09 rows=2 width=87) (actual time=436193.824..436194.168 rows=73 loops=1)
         ->  Sort  (cost=48262.05..48262.05 rows=2 width=87) (actual time=436193.820..436193.925 rows=73 loops=1)

Each line that doesn't is an OperationInfo token:
   Sort Key: "Appointment Time", "Last Name", "First Name"
               Sort Key: ct_id, "Time Zone", "Last Name", "First Name", "Appointment Time", "Activity", notes, u_id

Each Row-Operation object has its: name, and DOM level stored and is further divided into two more tokens
	Cost token [$row->cost]:
		cost=48262.10..48262.11 rows=2 width=87
	Time token [$row->time]:
		actual time=436194.363..436194.455 rows=73 loops=1

Both Cost and Time tokens have a Range token:
	Range token [$row->time->range]:
		"436194.363..436194.455"
	Range token [$row->cost->range]:
		"48262.10..48262.11 rows=2 width=87"

All token-objects have a ->src, to which they generate
their information when called upon
