removed default constructor, to enforce providing errno and a reason when throwing an internal exception
updated all internal_exceptions to have errno and a reason