Switching id to id_ to avoid overwrite of built-in

- Importing Boolean
- order_by=lambda: Class.thing so that the super's attribute
  can be referenced
Calling new class names

Class names were changed because of the decorator that simply returns
cls.__name__.lower(), avoiding the need to explicitly define a table
name for each table.
Updating data_parser to use re.compile

- Fixing regular expression value after testing with Python
- Switching to re.findall instead of re.split, which actually works as expected
Updating charactr.dat to avoid a major headache

The data file for characters had 'empty' values specified as ',,' which
would have been a PIA the parse. But we have control over the data file,
easiest fix was to replace ',,' with ', ,', providing an actual empty
value for the parser to recognize.
Updating class/table names on, uh... 'built-in' stack unit tests
Making multi-column PK from name and environ for races

With the new parser, race name is just the name, not the name_X where X
is the environ, as that info was already in the next column. Just needed
to specify it as a primary key as well.