Made error defining macros variadic to be more flexible and added some base error classes.
Added main testing hooks.
Started on class for constructing backtraces.
Added start of singleton tests