Test for File read.
Private top-level variables.
Slap some rough stack trace dumping in.
Slightly better stack trace labels.
Create SourceFile type.

There's now a nice abstract for a magpie source file. It can give
you the line of code given a line number, which is nice for
stack traces and (later) compile errors.
Show the offending line in compile errors.
Handle module load failures more gracefully.
Use same error reporter for parse errors.

Makes sure we don't try to later compile files that didn't parse.
Handling importing dotted names like "foo.bar".
Start sketching out lexer in core lib.
Add "Char" character type.

Having a separate type for characters versus strings is nice
because it lets you specialize methods against characters and not
have to treat characters as magic 1-character strings.
Subscript operator on strings.
"index" -> "subscript" in parser.
Show test runner progress.
Create class object at runtime instead of as a constant.

This is prep work for inheritance since the superclasses will
only be known at runtime.
Show test output correctly when failures occur.
Parse superclasses in defclass. Like:

defclass Foo is Bar, Baz
    …
end
Get superclasses roughly working.

"is" checks are slow but correct now.

Still need to handle all sorts of edge cases like inheritance
cycles, duplicate parents, chained constructors, method sorting,
etc.
Enable some definition tests.
Reorganize the definition order tests.