Move exception classes into their respective subpackages/submodules

See CHANGELOG.md for a description of the changes. Fixes #577.
Add a link to #577, as that contains a useful explanation of why we're doing this.