Pretty much settled on a coding pattern for the exception classes. Other changes are me eliminating unused variables and signed/unsigned comparisons as I go. This is a backup commit, still not compiling.