Restructure ExceptionInfo object construction and ensure incomplete instances have a ``repr``/``str``.