New error callback mechanism

Anton, I have replaced many exit() calls with a call to process_error()
This contents of which can be altered to taste; except for the critical call to the c callback routine - error_cb()
Both routines have a severity parameter which is expected to be:
1) a warning or syntax level error, continue on
2) a fatal error; or
3) a more catastrophic system level error