Fixes #228. Also renamed base exception to BaseException and made abstract, adding a concrete CommonException subclass to the same package.