Change the project structure to use classes.

This also adds a working version of `Assertion.Throw`, which closes #3
and sets the lines and files of the errors correctly on all assertions,
which closes #4. We're still drafting things and the internal structure
is still changing, but I think this is going forward.

This also bumps version to v0.0.3