added new methods to accomodate easier testing of exception throwing
use internal methods to reduce duplication and increase consistency
increase liberality of templating of remaining methods
move definition of bool types into impl folder
keep dstd.hxx for now until all other headers have migrated