Fix a test failure
Remove unused exceptions.
Add tests.
Add an entry to .gitignore.
Add tests
Organize exceptions and packages