Exceptions, round 2: Convert Err* to *Error.

I did a general sweep through everything to convert error names from their old
names to new more Pythonic-names. I originally named them as Err* because I
thought that would be a fun way to differ Lily from other languages.

I also made number instead of double, object instead of any, and string instead
of str. So...I'm starting to think that "making clever names for stuff" is less
and less of a good idea. The simpler, the easier to remember.
Exceptions, round 3: Handle other exceptions now.

All errors that can be raised at vm time are now initialized in classes, and
handled during error catching. The exception test now checks for RangeError
which is raised when a subscript is out of range.

Also fix a wildly incorrect comment over symtab's lily_class_by_name.

Did an adjustment in parser so that blank except entries work in multi-line
blocks.
Exceptions, round 4: Add parents to classes, make lily_seed_symtab more sane.

For the first one, the parent of a class is given as a string. This is
important, because future classes will need to do this. For example, a mysql
function needs to a particular class, it has no guarantee of what ID it will
have. So it will need to use a string for identity. Or...something.

For the second, class init now has a second pass where parents are
initialized to a non-NULL value. This is so that lily_class_by_id is not
called when all classes have not been filled in (and where there may be empty
ones!)

This is a step toward checking that 'except' gets something that can, you
know, actually BE raised. Also, inheritance!