Adding a "job description" to cpp_printer for when it logs an error
Added an Orly-script generator that makes a starter orly file when generating a translator for a given .sql file
tools/nycr: Make nycr generate parsers which have no global static state

This means we can parse two things at once and have correct line/column numbers, as well as the correct list of errors.

Also switch from yylineno / flex's automatic line number tracking to our own because flex forgets to initialize it's variables when using a string buffer....
ThrowSystemError is a noreturn function
jhm: If a program which is run for a job is newer than the job, re-run the job
jhm/timestamp: Move functions to cc
base/error: Move Abort() to be an error utility function

This is a first step in removing the old <base/error> hierarchy
Remove <base/error> per #21

All code is translated to use <base/thrower> generally.
Adding the key cursor cache back in using fiber local
getting rid of unused key-cursor cache code
Given 'a/b/name.sql', generate name_translator and name.orly.
Merge pull request #2 from mpark/csv-starter-script

Given 'a/b/name.sql', generate name_translator and name.orly.
Merge pull request #179 from mpark/master

Get context.test.broken.cc to compile.
Merge pull request #173 from jmlvanre/csv-starter-script

Generate Orly starter script when generating CSV translator
Merge pull request #180 from jmlvanre/key-cursor-cache

Key cursor cache
Merge pull request #169 from cmaloney/linenumbers

Remove global state from Nycr generated parsers